Retrovol 0.13.1 (Volume mixer)
- Pizzasgood
- Posts: 6183
- Joined: Wed 04 May 2005, 20:28
- Location: Knoxville, TN, USA
@disciple: I assume you got the dimensions from JWM rather than measuring them yourself? It appears that JWM lies when it comes to retrovol (or maybe GTK is lying to JWM for some reason). If you try to resize it (manually) to the smallest possible, it will call that 0x0, even though it isn't really 0x0. The numbers it shows are indexed from there, which explains why you got numbers smaller than you expected.
Try making a screenshot and measuring it that way (take into account that the dimensions you choose set the interior, not including the window decorations).
@Barry: I implemented what you wanted tonight - it will only run one instance now, and any attempts to start a second instance will just pop up the main window and then return. I haven't made a new package yet, because I want to get the i18n stuff wrapped up first. I'll probably do that tomorrow. (Of course, what's done so far is already in the SVN.)
Plus I noticed some GTK error messages today that I want to sort out. But that might just be because the GTK installation in the Puppy I'm running right now is a little iffy.
Try making a screenshot and measuring it that way (take into account that the dimensions you choose set the interior, not including the window decorations).
@Barry: I implemented what you wanted tonight - it will only run one instance now, and any attempts to start a second instance will just pop up the main window and then return. I haven't made a new package yet, because I want to get the i18n stuff wrapped up first. I'll probably do that tomorrow. (Of course, what's done so far is already in the SVN.)
Plus I noticed some GTK error messages today that I want to sort out. But that might just be because the GTK installation in the Puppy I'm running right now is a little iffy.
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]
[img]http://www.browserloadofcoolness.com/sig.png[/img]
- Pizzasgood
- Posts: 6183
- Joined: Wed 04 May 2005, 20:28
- Location: Knoxville, TN, USA
Version 0.2 is uploaded, see the first post.
Changes:
If you look at the program's --help output, you'll see a -show option. Ignore that. I've decided that I did it backwards. The -show behavior should have been the default, and there should be a -hide option instead. I'll correct that with version 0.3 whenever I get around to that. But I'm too tired to do anything else tonight. Worked all day on my side-job. Good pay though. Better than you cheapskates give me .
Hmm, I need to give it a -v option sometime too.
Oh, and those errors I mentioned above only happen in that installation. I don't see them in a normal Puppy. Apparently in the version of GTK I'm using, one of the features I used has been deprecated. Will have to look into that for 0.3 also.
Changes:
- Set it to only allow one instance.
Adjusted configure.in so that src/gettext.h is included in dist tarballs.
Finished tagging all strings for gettext i18n.
Updated the pot file to include those strings.
If you look at the program's --help output, you'll see a -show option. Ignore that. I've decided that I did it backwards. The -show behavior should have been the default, and there should be a -hide option instead. I'll correct that with version 0.3 whenever I get around to that. But I'm too tired to do anything else tonight. Worked all day on my side-job. Good pay though. Better than you cheapskates give me .
Hmm, I need to give it a -v option sometime too.
Oh, and those errors I mentioned above only happen in that installation. I don't see them in a normal Puppy. Apparently in the version of GTK I'm using, one of the features I used has been deprecated. Will have to look into that for 0.3 also.
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]
[img]http://www.browserloadofcoolness.com/sig.png[/img]
I think maybe it is a JWM issue. xwininfo tells me the same size as in the Retrovol settings.(or maybe GTK is lying to JWM for some reason)
For some reason I thought you said we could control the balance by right-clicking or shift-clicking on the slider or something. But I think I might have imagined it; I can't find any way to control the balance with Retrovol. Is that right?
Do you know a good gtkdialog program? Please post a link here
Classic Puppy quotes
ROOT FOREVER
GTK2 FOREVER
Classic Puppy quotes
ROOT FOREVER
GTK2 FOREVER
Interesting... it survives through `jwm -restart`, but unlike parcellite it doesn't survive if I exit jwm and then restart it (Without exiting X of course).
Code: Select all
(retrovol:7181): GLib-GObject-WARNING **: invalid unclassed pointer in cast to `GtkWidget'
(retrovol:7181): Gtk-CRITICAL **: gtk_widget_get_display: assertion `GTK_IS_WIDGET (widget)' failed
(retrovol:7181): Gdk-CRITICAL **: gdk_xid_table_lookup_for_display: assertion `GDK_IS_DISPLAY (display)' failed
(retrovol:7181): GLib-GObject-WARNING **: invalid unclassed pointer in cast to `GtkWidget'
(retrovol:7181): Gtk-CRITICAL **: gtk_widget_get_display: assertion `GTK_IS_WIDGET (widget)' failed
(retrovol:7181): Gdk-CRITICAL **: gdk_x11_display_get_xdisplay: assertion `GDK_IS_DISPLAY (display)' failed
Do you know a good gtkdialog program? Please post a link here
Classic Puppy quotes
ROOT FOREVER
GTK2 FOREVER
Classic Puppy quotes
ROOT FOREVER
GTK2 FOREVER
- Pizzasgood
- Posts: 6183
- Joined: Wed 04 May 2005, 20:28
- Location: Knoxville, TN, USA
Nope, no balance yet. That's one of the next things I intend to do (I have my rear speakers hooked up to an amp, so I adjust their balance there, but I have to do my front speakers through software. So I need this too.). I'll see if I can figure out the JWM survival thing sometime too.
For now though I'm taking a break from Retrovol and instead focusing on QwikLinK - a simple program to let me load programs onto the microcontroller boards we use in the "Embedded Microcontrollers" class I'm a TA for. I have two boards from there, but currently I have to use the Windows program QwikBug that a former student wrote to program them (or I could use the PicKit 2 programmer, which I believe there is Linux software for, but it would be simpler to just use the serial port like QwikBug). QwikBug requires the .net framework and I don't feel like loading that beast onto my already cramped laptop and trying to get it running in Wine. So I grabbed the source code and I'm working on reimplementing the basic features (not the debugging stuff) in C++. As of tonight I think I have it mostly done, it just needs some more safeguards. Except I don't have the chip with me to test with so I'll have to wait until Monday (visiting my grandparents this weekend.)
For now though I'm taking a break from Retrovol and instead focusing on QwikLinK - a simple program to let me load programs onto the microcontroller boards we use in the "Embedded Microcontrollers" class I'm a TA for. I have two boards from there, but currently I have to use the Windows program QwikBug that a former student wrote to program them (or I could use the PicKit 2 programmer, which I believe there is Linux software for, but it would be simpler to just use the serial port like QwikBug). QwikBug requires the .net framework and I don't feel like loading that beast onto my already cramped laptop and trying to get it running in Wine. So I grabbed the source code and I'm working on reimplementing the basic features (not the debugging stuff) in C++. As of tonight I think I have it mostly done, it just needs some more safeguards. Except I don't have the chip with me to test with so I'll have to wait until Monday (visiting my grandparents this weekend.)
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]
[img]http://www.browserloadofcoolness.com/sig.png[/img]
- Pizzasgood
- Posts: 6183
- Joined: Wed 04 May 2005, 20:28
- Location: Knoxville, TN, USA
I have uploaded version 0.3. I fixed the bug Barry mentioned on his bug involving the slider showing up on the taskbar. I also added the -v/--version option. Finally, I replaced the -show option with -hide, and made the corresponding change in functionality - now running plain "retrovol" will pop up the main window in addition to creating the tray icon, while running it as "retrovol -hide" will only create the tray icon.
IMPORTANT: If upgrading, you will need to adjust your ~/.xinitrc file to use the -hide flag.
See the first post for download link.
IMPORTANT: If upgrading, you will need to adjust your ~/.xinitrc file to use the -hide flag.
See the first post for download link.
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]
[img]http://www.browserloadofcoolness.com/sig.png[/img]
- Pizzasgood
- Posts: 6183
- Joined: Wed 04 May 2005, 20:28
- Location: Knoxville, TN, USA
I found an error in the previous version (actually, in the last two or three version, but it didn't do anything until now), so I fixed it and uploaded a new version. The problem is I had an array that was 7 characters long that was supposed to hold a string that was 7 characters long - which sounds okay until you consider that strings need an extra character for the null terminator. So the null was being written over the next variable, causing things to break when you use the -bg and -hide options in conjunction.
So, I fixed that and uploaded version 0.4 today.
So, I fixed that and uploaded version 0.4 today.
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]
[img]http://www.browserloadofcoolness.com/sig.png[/img]
Hi Pizzasgood
I tried to install retrovol-4 in a tpup I made from the latest woof and it failed. It installs to /usr/local/bin and therefore the original that BK has in woof is found first ... it's in /usr/bin.
Also, the .desktop file needs some attention.... [show? ]
Cheers
I tried to install retrovol-4 in a tpup I made from the latest woof and it failed. It installs to /usr/local/bin and therefore the original that BK has in woof is found first ... it's in /usr/bin.
Also, the .desktop file needs some attention.... [show? ]
Cheers
Puppy Linux Blog - contact me for access
- Pizzasgood
- Posts: 6183
- Joined: Wed 04 May 2005, 20:28
- Location: Knoxville, TN, USA
Not to sound cold and uncaring, but I didn't even include a .desktop file, so that isn't really my problem....
(Though I probably should start including one with the package now that I have the -hide option vs. -show option finalized.)
You generally should not install packages over other packages. Especially when the two packages come from different vendors! You should either uninstall the old version from the alternate vendor before installing a new one, or else wait for that vendor (aka Barry) to update their package to the new version.
Retrovol is open source (in fact, all of the code that I wrote for this has been released into the Public Domain - but not the eggtrayicon stuff I included, which is LGPL), so you can always recompile it to suit your own needs. To have it in /usr/bin you would just download and expand the source package, and run the following inside it:
Of course, you should uninstall the existing version(s) first.
(Though I probably should start including one with the package now that I have the -hide option vs. -show option finalized.)
You generally should not install packages over other packages. Especially when the two packages come from different vendors! You should either uninstall the old version from the alternate vendor before installing a new one, or else wait for that vendor (aka Barry) to update their package to the new version.
Retrovol is open source (in fact, all of the code that I wrote for this has been released into the Public Domain - but not the eggtrayicon stuff I included, which is LGPL), so you can always recompile it to suit your own needs. To have it in /usr/bin you would just download and expand the source package, and run the following inside it:
Code: Select all
./configure --prefix=/usr
make
make install
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]
[img]http://www.browserloadofcoolness.com/sig.png[/img]
hehe! Pizza's not so good cold!
Ok, understood, thanks for reply. (er, I should have checked the .pet)
Cheers
Ok, understood, thanks for reply. (er, I should have checked the .pet)
Cheers
Puppy Linux Blog - contact me for access
- technosaurus
- Posts: 4853
- Joined: Mon 19 May 2008, 01:24
- Location: Blue Springs, MO
- Contact:
- ttuuxxx
- Posts: 11171
- Joined: Sat 05 May 2007, 10:00
- Location: Ontario Canada,Sydney Australia
- Contact:
Yes mick in Australia the pizza is terrible, and cold its even worse, North American pizza is far better, more toppings, better cheese and pepperoni, etc. Man I miss pizza from Canada its was really nice, plus there no curds in oz, how are you suppose to make a poutine?01micko wrote:hehe! Pizza's not so good cold!
Ok, understood, thanks for reply. (er, I should have checked the .pet)
Cheers
ttuuxxx
http://audio.online-convert.com/ <-- excellent site
http://samples.mplayerhq.hu/A-codecs/ <-- Codec Test Files
http://html5games.com/ <-- excellent HTML5 games :)
http://samples.mplayerhq.hu/A-codecs/ <-- Codec Test Files
http://html5games.com/ <-- excellent HTML5 games :)
- Pizzasgood
- Posts: 6183
- Joined: Wed 04 May 2005, 20:28
- Location: Knoxville, TN, USA
Well that's not good. The method I used to position it is a bit of a hack, so I was planning to eventually change that anyway. I'll check on that next time I work on it. Though I probably won't be working on Retrovol for the next couple weeks as I focus on getting CheesyRamHog to the point where I can use it as my main OS. (I just finished automating the first half of the compile-from-source process this morning and am testing that in the background right now.)
For the record, that positioning problem and the need for balance control are the next items on my list for when I come back to working on this, unless any serious bugs are noticed.
I prefer cold pizza for breakfast, and sometimes for lunch if it's an early lunch. But I usually prefer it hot the rest of the time, especially for supper.
For the record, that positioning problem and the need for balance control are the next items on my list for when I come back to working on this, unless any serious bugs are noticed.
I prefer cold pizza for breakfast, and sometimes for lunch if it's an early lunch. But I usually prefer it hot the rest of the time, especially for supper.
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]
[img]http://www.browserloadofcoolness.com/sig.png[/img]
If you're looking at positioning stuff again, it would also be nice if there was an option to make the mixer come up in the corner of the screen instead of the centre, or alternatively it could remember its location instead of always moving back to the centre
Do you know a good gtkdialog program? Please post a link here
Classic Puppy quotes
ROOT FOREVER
GTK2 FOREVER
Classic Puppy quotes
ROOT FOREVER
GTK2 FOREVER
- BarryK
- Puppy Master
- Posts: 9392
- Joined: Mon 09 May 2005, 09:23
- Location: Perth, Western Australia
- Contact:
I have to stay with 0.2 as 0.4 does not work properly for me.
I have the icon in the tray, which is fine.
There is a menu entry in the Multimedia menu to run the mixer. If I do that (or type "retrovol" in a terminal), then I see two menu entries "Quit" and "Exit" -- I chose the latter, which killed the tray icon as well.
I then tried to rerun the mixer, by typing "retrovol" in a terminal, but it won't start -- nothing happens, just returns to the prompt.
0.2 works fine, except for that little taskbar problem.
Can you separate the tray icon and the mixer to separate applications? That might make things much cleaner.
I have the icon in the tray, which is fine.
There is a menu entry in the Multimedia menu to run the mixer. If I do that (or type "retrovol" in a terminal), then I see two menu entries "Quit" and "Exit" -- I chose the latter, which killed the tray icon as well.
I then tried to rerun the mixer, by typing "retrovol" in a terminal, but it won't start -- nothing happens, just returns to the prompt.
0.2 works fine, except for that little taskbar problem.
Can you separate the tray icon and the mixer to separate applications? That might make things much cleaner.
[url]https://bkhome.org/news/[/url]
- Pizzasgood
- Posts: 6183
- Joined: Wed 04 May 2005, 20:28
- Location: Knoxville, TN, USA
Seems to be that instead of properly closing it sometimes becomes a zombie. Then the PID check when you try to rerun it thinks it's still running, so it sends the popup signal and exits.
The quick fix is to remove the leftover PID file (/var/run/retrovol.pid) before trying to relaunch it.
Taking a quick look at the code, I'm not sure how this situation can even happen, because it should remove the PID file before it tries to exit, and it shouldn't be able to become a zombie until after it tries to exit. I suspect maybe the code handling the tray icon might not be being told to close properly, causing the program to try exiting before it has a chance to finish cleaning up.
I'm not a big fan of the idea of breaking it apart, so I'll try to fix the actual problem first. I'll also learn how to access the process list from C in order to make the PID check more robust so that it can survive the times when there are zombie uprisings. (It can already handle stale files by virtue of that sending the popup signal via kill() returns an error code when the process does not exist. But when the process is a zombie it does still exists and receives signals happily.)
The quick fix is to remove the leftover PID file (/var/run/retrovol.pid) before trying to relaunch it.
Taking a quick look at the code, I'm not sure how this situation can even happen, because it should remove the PID file before it tries to exit, and it shouldn't be able to become a zombie until after it tries to exit. I suspect maybe the code handling the tray icon might not be being told to close properly, causing the program to try exiting before it has a chance to finish cleaning up.
I'm not a big fan of the idea of breaking it apart, so I'll try to fix the actual problem first. I'll also learn how to access the process list from C in order to make the PID check more robust so that it can survive the times when there are zombie uprisings. (It can already handle stale files by virtue of that sending the popup signal via kill() returns an error code when the process does not exist. But when the process is a zombie it does still exists and receives signals happily.)
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]
[img]http://www.browserloadofcoolness.com/sig.png[/img]