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

#91 Post by Pizzasgood »

Yeah, I never monkey with balance unless I'm trying to debug a speaker problem, and then I usually just use the balance knob on my amp.

I'll look into this when I get off work. 'Bout time I put together a PKGBUILD for it as well.
[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

#92 Post by Pizzasgood »

I just tried replicating it on my end, and it worked fine. Questions:

Are you scrolling on the slider, or on the icon? If slider, is this the in-window one or the tray slider?

Does it freeze whether the left or the right is the first to reach the bottom, or only for one of them?

Does it matter whether you induce the imbalance by scrolling one side up vs. down first?

If you exit retrovol completely and then run it from the commandline, does it output any error messages when it freezes?

Which volume control is it you are manipulating? Do all stereo controls exhibit this behavior for you, or just that one?

Attaching the output of the 'amixer contents' command might also help, if it's somehow related to a goofy audio control.

I assume that scrolling all the way down does not freeze it when the balance is even?

What distros/puppy-versions are you experiencing this in, and does it have any aftermarket changes to alsa or gtk? I was testing on Arch just now. I will try it on some puppies tomorrow (to tired to do more tonight).
[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

#93 Post by Pizzasgood »

For the record, I just tried it on Puppy 4.3 and 5.2.5, and both worked fine. :|
[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

#94 Post by disciple »

Wow, this is a weird one :shock:
The problem is caused by setting the "slider margins" to 0 and the "Tray Slider Height" to 94 or less.
Pizzasgood wrote:I just tried replicating it on my end, and it worked fine. Questions:

Are you scrolling on the slider, or on the icon? If slider, is this the in-window one or the tray slider?
It happens whether I am scrolling on the trayicon slider, or on the icon, and whether or not the slider or the main window is open. It does not happen when I scroll in the main window (although that's not to say it wouldn't also happen there if I changed my settings to some magic combination).
Does it freeze whether the left or the right is the first to reach the bottom, or only for one of them?
Does it matter whether you induce the imbalance by scrolling one side up vs. down first?
Sorry, I don't know how I came up with that red herring. It has nothing to do with balance - it also happens when the left and right channels are equal.
If you exit retrovol completely and then run it from the commandline, does it output any error messages when it freezes?
No.
Which volume control is it you are manipulating?
Do all stereo controls exhibit this behavior for you, or just that one?
I tested with "master" and "PCM" using my PCI sound card, and with "Master" or whatever the default volume control is using my onboard sound card.
Attaching the output of the 'amixer contents' command might also help, if it's somehow related to a goofy audio control.

Code: Select all

~# amixer contents
numid=7,iface=MIXER,name='Master Mono Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=8,iface=MIXER,name='Master Mono Playback Volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=31,step=0
  : values=31
  | dBscale-min=-46.50dB,step=1.50dB,mute=0
numid=1,iface=MIXER,name='Master Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=2,iface=MIXER,name='Master Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=31,step=0
  : values=31,31
  | dBscale-min=-46.50dB,step=1.50dB,mute=0
numid=30,iface=MIXER,name='3D Control - Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=33,iface=MIXER,name='3D Control Sigmatel - Depth'
  ; type=INTEGER,access=rw------,values=1,min=0,max=3,step=0
  : values=3
numid=34,iface=MIXER,name='3D Control Sigmatel - Rear Depth'
  ; type=INTEGER,access=rw------,values=1,min=0,max=3,step=0
  : values=3
numid=24,iface=MIXER,name='PCM Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=25,iface=MIXER,name='PCM Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=31,step=0
  : values=31,31
  | dBscale-min=-34.50dB,step=1.50dB,mute=0
numid=3,iface=MIXER,name='Surround Playback Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=off,off
numid=4,iface=MIXER,name='Surround Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=31,step=0
  : values=31,31
  | dBscale-min=-46.50dB,step=1.50dB,mute=0
numid=44,iface=MIXER,name='FM Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=43,iface=MIXER,name='FM Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=31,step=0
  : values=0,0
  | dBscale-min=-34.50dB,step=1.50dB,mute=0
numid=40,iface=MIXER,name='Wave Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=39,iface=MIXER,name='Wave Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=31,step=0
  : values=31,31
  | dBscale-min=-34.50dB,step=1.50dB,mute=0
numid=16,iface=MIXER,name='Line Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=17,iface=MIXER,name='Line Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=31,step=0
  : values=31,31
  | dBscale-min=-34.50dB,step=1.50dB,mute=0
numid=18,iface=MIXER,name='CD Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=19,iface=MIXER,name='CD Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=31,step=0
  : values=0,0
  | dBscale-min=-34.50dB,step=1.50dB,mute=0
numid=15,iface=MIXER,name='Mic Boost (+20dB)'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=32,iface=MIXER,name='Mic Select'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'Mic1'
  ; Item #1 'Mic2'
  : values=0
numid=13,iface=MIXER,name='Mic Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=14,iface=MIXER,name='Mic Playback Volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=31,step=0
  : values=0
  | dBscale-min=-34.50dB,step=1.50dB,mute=0
numid=11,iface=MIXER,name='Phone Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=12,iface=MIXER,name='Phone Playback Volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=31,step=0
  : values=0
  | dBscale-min=-34.50dB,step=1.50dB,mute=0
numid=20,iface=MIXER,name='Video Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=21,iface=MIXER,name='Video Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=31,step=0
  : values=7,7
  | dBscale-min=-34.50dB,step=1.50dB,mute=0
numid=9,iface=MIXER,name='PC Speaker Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=10,iface=MIXER,name='PC Speaker Playback Volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=15,step=0
  : values=0
  | dBscale-min=-45.00dB,step=3.00dB,mute=0
numid=22,iface=MIXER,name='Aux Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=23,iface=MIXER,name='Aux Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=31,step=0
  : values=31,31
  | dBscale-min=-34.50dB,step=1.50dB,mute=0
numid=31,iface=MIXER,name='Mono Output Select'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'Mix'
  ; Item #1 'Mic'
  : values=0
numid=26,iface=MIXER,name='Capture Source'
  ; type=ENUMERATED,access=rw------,values=2,items=8
  ; Item #0 'Mic'
  ; Item #1 'CD'
  ; Item #2 'Video'
  ; Item #3 'Aux'
  ; Item #4 'Line'
  ; Item #5 'Mix'
  ; Item #6 'Mix Mono'
  ; Item #7 'Phone'
  : values=4,4
numid=27,iface=MIXER,name='Capture Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=28,iface=MIXER,name='Capture Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=15,step=0
  : values=4,4
  | dBscale-min=0.00dB,step=1.50dB,mute=0
numid=42,iface=MIXER,name='I2S Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=41,iface=MIXER,name='I2S Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=31,step=0
  : values=0,0
  | dBscale-min=-34.50dB,step=1.50dB,mute=0
numid=50,iface=MIXER,name='IEC958 Raw Data Capture Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=49,iface=MIXER,name='IEC958 Raw Data Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=51,iface=MIXER,name='IEC958 Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=48,iface=MIXER,name='IEC958 Capture Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=47,iface=MIXER,name='AC97 18-bit Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=46,iface=MIXER,name='AC97 2ch->4ch Copy Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=45,iface=MIXER,name='Digital Capture Source'
  ; type=ENUMERATED,access=rw------,values=1,items=5
  ; Item #0 'AC97 Primary'
  ; Item #1 'FM'
  ; Item #2 'I2S'
  ; Item #3 'PCM'
  ; Item #4 'AC97 Secondary'
  : values=0
numid=38,iface=MIXER,name='External Amplifier'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=36,iface=MIXER,name='Sigmatel 4-Speaker Stereo Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=35,iface=MIXER,name='Sigmatel Output Bias Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=37,iface=MIXER,name='Sigmatel Surround Phase Inversion Playback '
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=5,iface=MIXER,name='Sigmatel Surround Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=6,iface=MIXER,name='Sigmatel Surround Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=31,step=0
  : values=31,31
  | dBscale-min=-46.50dB,step=1.50dB,mute=0

~# 
I assume that scrolling all the way down does not freeze it when the balance is even?
See above. Sorry.
What distros/puppy-versions are you experiencing this in and does it have any aftermarket changes to alsa or gtk?
4.1.1 with aftermarket changes to gtk.
Quirky 1.1 booted with pfix=ram
disciple wrote:It is present in v 0.7 (self compiled) and 0.10 (your puppy 4 package):
It also occurs with the very first version: 0.1.
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

#95 Post by Pizzasgood »

Ah, there we go, I can reproduce it now. I'll get it sorted tonight. Probably a math issue.
[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

#96 Post by Pizzasgood »

Okay, I found and fixed the bug. The SVN is updated, but I haven't assembled the packages yet - took longer than I expected to figure it out, and I got started later than planned. I'll do some more testing tomorrow to make sure it's running nice, and then tag it and make new packages.

The problem was related to some code that tries to make sure that the value actually changed (in case you have more segments than the hardware actually supports, for example 500 segments on a 0-255 control). That part of the code was written very poorly, and had some incorrect bounds checking. So I rewrote that. I also noticed another bug relating to a precision loss, which made it impossible to get the slider to move the final segment down/left under certain conditions (though the actual volume would still go, the segment would just remain lit). I added some rounding, which fixed that.

Note: I also moved the pid file it creates from /var/run/ to /tmp, since it appears /var/run isn't user-writable in most distros.
[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

#97 Post by disciple »

Pizzasgood wrote:I also noticed another bug relating to a precision loss, which made it impossible to get the slider to move the final segment down/left under certain conditions (though the actual volume would still go, the segment would just remain lit).
Ah, yes, I noticed that, but assumed it was the same bug, as I only saw them together :)
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

#98 Post by Pizzasgood »

Okay, 0.11 is uploaded. It fixes the bugs described in my previous post, and moves the pid file into /tmp/ rather than /var/run/, for better cross-distro compatibility.

I've attached a PKGBUILD for it as well, in case anybody wants to use it in Arch Linux. I'll look at submitting it to the AUR tomorrow.

Puppy users of course just need to go back to the first page and grab the appropriate package.
Attachments
retrovol.tar.gz
This is just a PKGBUILD file for Arch Linux users,
(623 Bytes) Downloaded 421 times
[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]

rmcellig
Posts: 965
Joined: Sat 19 Nov 2011, 15:18
Location: Ottawa Ontario Canada
Contact:

#99 Post by rmcellig »

Is it possible to install Retrovol in my Ubuntu distro? I'm using Ultimate Edition 3 as well as puppy lnux 5.2.8.

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

#100 Post by Pizzasgood »

Should be. The puppy 5 package might work if you extract it and install it. Probably use commands like this:

Code: Select all

tar xf retrovol-0.11.pet
sudo cp -r retrovol-0.11/* /
(Ignore the error message that tar will give you about garbage at the end of the file - that's just an MD5 checksum that .pet packages have at the end. It doesn't hurt anything - tar will still extract all the data.)

The more correct solution, however, is to compile it natively on Ubuntu. That's pretty easy to do. You'd have to install the development toolchain (gcc, make, etc.) if you don't already have it. Then you'd just do the standard ./configure, make, make install routine. Something like this should work:

Code: Select all

wget http://www.browserloadofcoolness.com/software/puppy/PETget/retrovol-0.11.tar.gz
tar xf retrovol-0.11.tar.gz
cd retrovol-0.11
./configure --prefix=/usr
make
sudo make install
That should give you a working install, and it should work on pretty much any distro that uses alsa and gtk2, as long as you've got the development toolchain installed. I've never actually used Ubuntu though, so there could be some kind of incompatibility that I'm not aware of.
[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
Argolance
Posts: 3767
Joined: Sun 06 Jan 2008, 22:57
Location: PORT-BRILLET (Mayenne - France)
Contact:

Retrovol localization?

#101 Post by Argolance »

Hello,
Trying to compile a French localized version of retrovol from source files, I don't see exactly how to proceed to make the translation working? I created a fr.po file from pot, then a French fr.mo file that I both copied into ./po directory and also specified "fr" in ./po/LINGUAS file (while compiling, the right locale directory is created, but it is empty and even when I copy my mo file manually to the right directory, localization doesn't work...)!
Any idea of what's going wrong?

Thank you for your attention.

Cordialement.
Last edited by Argolance on Fri 20 Jan 2012, 11:56, edited 2 times in total.

User avatar
Argolance
Posts: 3767
Joined: Sun 06 Jan 2008, 22:57
Location: PORT-BRILLET (Mayenne - France)
Contact:

#102 Post by Argolance »

Hello,
Just a little suggestion: margins for GUI full window...

Cordialement.
Attachments
retrovol_margins.jpg
(37.12 KiB) Downloaded 988 times
Last edited by Argolance on Fri 20 Jan 2012, 12:01, edited 2 times in total.

User avatar
Argolance
Posts: 3767
Joined: Sun 06 Jan 2008, 22:57
Location: PORT-BRILLET (Mayenne - France)
Contact:

Tray icon background color

#103 Post by Argolance »

Hello,
I noticed that theme background colors using equivalent for Hex value as 'grey 30' for #333333, or "red", "yellow"... are not working and make the icon not to be loaded at startup...

Cordialement.

User avatar
Argolance
Posts: 3767
Joined: Sun 06 Jan 2008, 22:57
Location: PORT-BRILLET (Mayenne - France)
Contact:

#104 Post by Argolance »

Hello,
Don't know if I understand how retrovol is configured or not (?) but, while translating po file in French and testing parameters directly into the application, I noticed that something seems working wrong when choosing which sliders to enable or disable... Sliders actually displayed in the main menu are shown in the field "Inactive sliders" of the config window :shock:. If I choose to deactivate one of them, then the main window just shows that one and all others are hidden... Strange indeed!

Cordialement.

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

#105 Post by Pizzasgood »

Hmmm. I'll try to make some time this weekend or next week to fix this stuff.
[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
Argolance
Posts: 3767
Joined: Sun 06 Jan 2008, 22:57
Location: PORT-BRILLET (Mayenne - France)
Contact:

#106 Post by Argolance »

Hello,
Question: What is the option "Segment spacing" used for? I don't see any changes when trying to set a new value through the configuration window! This value don't stay anyway...

Cordialement.

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

#107 Post by Pizzasgood »

It is supposed to set the spacing between the segments, e.g. the dark bits between the parts that light up. Another thing to fix. :(
[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
Argolance
Posts: 3767
Joined: Sun 06 Jan 2008, 22:57
Location: PORT-BRILLET (Mayenne - France)
Contact:

Translation

#108 Post by Argolance »

Hello,
Here are the French UTF-8 po and mo files for retrovol.
=> This thread should be useful to know/solve encountered issues with UTF-8 mo files!
Something else: While running retrovol in console, I get:
(retrovol:29010): Gtk-WARNING **: GtkSpinButton: setting an adjustment with non-zero page size is deprecated
This is probably not important but perhaps this may be solved at the same time?

Cordialement.
Attachments
retrovol_0.11_po_mo_utf8_fr.tar
(18.5 KiB) Downloaded 560 times
Last edited by Argolance on Sun 29 Jan 2012, 15:23, edited 1 time in total.

User avatar
L18L
Posts: 3479
Joined: Sat 19 Jun 2010, 18:56
Location: www.eussenheim.de/

Translation

#109 Post by L18L »

attached.

We have a C coded gettexted app now :D

Thank you

__________________________
edited:

Note, you can see another language in action
without having to install the other locale
I have done it with French:

1- right click the icon and stop retrovol
2- start it in the other language from command line
LANGUAGE=fr retrovol

Have fun :wink:
Attachments
retrovol-fr.png
(2.11 KiB) Downloaded 971 times
retrovol.mo.gz
move it to:
/usr/share/locale/de/LC_MESSAGES/retrovol.mo
(6.42 KiB) Downloaded 546 times

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

#110 Post by Pizzasgood »

The problem with the segment thickness is now fixed in SVN, as well as the warning about deprecated page values.

Having an option to set margins in the windows would be nice I guess. I really hate GUI programming though, so I'll put that off until next time :)
Argolance wrote:I noticed that theme background colors using equivalent for Hex value as 'grey 30' for #333333, or "red", "yellow"... are not working and make the icon not to be loaded at startup...
So you mean, you're trying to use the string "grey 30" instead of "#333333"? That is not supported, and frankly I don't care enough to figure out how to do it myself. Retrovol is open source for a reason though - if you or anybody else sends me a patch that makes it happen, I'd be glad to include it. There should exist a GTK or Cairo function already that provides the functionality, so it would just need to be identified and the source for retrovol adjusted to use it.
Argolance wrote:I noticed that something seems working wrong when choosing which sliders to enable or disable... Sliders actually displayed in the main menu are shown in the field "Inactive sliders" of the config window :shock:. If I choose to deactivate one of them, then the main window just shows that one and all others are hidden... Strange indeed!
If you're talking about how when no sliders are enabled, it shows them all instead of not showing any, that is intentional. If you're talking about something else, then there may be a bug and I'd like more information.

Oh, and thanks for the translations!
[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]

Post Reply