Retrovol 0.13.1 (Volume mixer)

Audio editors, music players, video players, burning software, etc.
Post Reply
Message
Author
User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#16 Post by Pizzasgood »

@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.
[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]

User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#17 Post by Pizzasgood »

Version 0.2 is uploaded, see the first post.

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]

disciple
Posts: 6984
Joined: Sun 21 May 2006, 01:46
Location: Auckland, New Zealand

#18 Post by disciple »

(or maybe GTK is lying to JWM for some reason)
I think maybe it is a JWM issue. xwininfo tells me the same size as in the Retrovol settings.

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

disciple
Posts: 6984
Joined: Sun 21 May 2006, 01:46
Location: Auckland, New Zealand

#19 Post by disciple »

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

User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#20 Post by Pizzasgood »

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.)
[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]

ajlec2000
Posts: 51
Joined: Sat 27 Jan 2007, 20:25

Thanks

#21 Post by ajlec2000 »

I installed Retrovol in my Puppy 4.31 powered Dell Inspiron 1501. I made it the default volume control and thus far it works as advertised.

Thanks, my puppy is that much closer to perfection now.

User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#22 Post by Pizzasgood »

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.
[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]

User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#23 Post by Pizzasgood »

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.
[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]

User avatar
01micko
Posts: 8741
Joined: Sat 11 Oct 2008, 13:39
Location: qld
Contact:

#24 Post by 01micko »

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? :wink: ]
Cheers
Puppy Linux Blog - contact me for access

User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#25 Post by Pizzasgood »

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:

Code: Select all

./configure --prefix=/usr
make
make install
Of course, you should uninstall the existing version(s) first.
[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]

User avatar
01micko
Posts: 8741
Joined: Sat 11 Oct 2008, 13:39
Location: qld
Contact:

#26 Post by 01micko »

hehe! Pizza's not so good cold!

Ok, understood, thanks for reply. (er, I should have checked the .pet)

Cheers
Puppy Linux Blog - contact me for access

stu90

#27 Post by stu90 »

Thanks Pizzasgood - works a treat on Dpup. :)

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#28 Post by technosaurus »

I kinda like cold pizza. Will test in 4.4-testing
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

User avatar
ttuuxxx
Posts: 11171
Joined: Sat 05 May 2007, 10:00
Location: Ontario Canada,Sydney Australia
Contact:

#29 Post by ttuuxxx »

01micko wrote:hehe! Pizza's not so good cold!

Ok, understood, thanks for reply. (er, I should have checked the .pet)

Cheers
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?
ttuuxxx
http://audio.online-convert.com/ <-- excellent site
http://samples.mplayerhq.hu/A-codecs/ <-- Codec Test Files
http://html5games.com/ <-- excellent HTML5 games :)

magerlab
Posts: 739
Joined: Sun 08 Jul 2007, 20:08

#30 Post by magerlab »

i use retrovol with xfce4 with tray in upper panel and slider appears in the center of the screen

User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#31 Post by Pizzasgood »

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.
[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]

disciple
Posts: 6984
Joined: Sun 21 May 2006, 01:46
Location: Auckland, New Zealand

#32 Post by disciple »

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

User avatar
BarryK
Puppy Master
Posts: 9392
Joined: Mon 09 May 2005, 09:23
Location: Perth, Western Australia
Contact:

#33 Post by BarryK »

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.
[url]https://bkhome.org/news/[/url]

User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#34 Post by Pizzasgood »

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.)
[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]

User avatar
puppyluvr
Posts: 3470
Joined: Sun 06 Jan 2008, 23:14
Location: Chickasha Oklahoma
Contact:

#35 Post by puppyluvr »

Hello,
I like it.. :D
It is configurable, easy, and slick...
And it scrolls... 8)
Very nice..
I`ll be getting a lot of use from this pet..
Close the Windows, and open your eyes, to a whole new world
I am Lead Dog of the
Puppy Linux Users Group on Facebook
Join us!

Puppy since 2.15CE...

Post Reply