ReplayGain

Amarok 1.x Scripts

Source (link to git-repo or to original if based on someone elses unmodified work): Add the source-code for this project on opencode.net

1
5.7
Description:

amaroK replaygain
v1.0.0-beta5 by Miguel Angel Alvarez (maacruz at gmail.com)
October 20, 2007

An amaroK script to normalize volume using the replaygain method
Now on your language: english, spanish, german, hungarian, french, russian, slovak, finnish, polish, portuguesse, italian, turkish, swedish
(more translators wanted!!!)

Using replaygain will make all your songs have the same perceived volume, making unnecesary to adjust the volume on each song change (specially if they are from different albums/artists)


--Release Notes--
1.0.0beta5: Workaround for amarok saving playlist with non valid utf8 characters, which in turn would cause the script to crash. The internal scanner for wma/asf files is now x10 faster.
1.0.0-beta series:
Major enhancements and new features.
Support for streams: now streams can be scanned. The scan must be manually started in track mode. It will rip 60 seconds and set the gain accordingly, so some variance can be expected. The stream must broadcast normalized somewhat for this to have any sense. Requires mplayer.
Support for wma: Using a new internal scanner (only for wma for now, but soon to be expanded for all filetypes). It is quite experimental but since beta5 it is very fast and will use 3dnow on AMD cpu's. Requires mplayer.
Autoscan mode: now replaygain will autoscan the playlist when it is modified (files are added or removed). The autoscan only can do track mode. Streams are not autoscanned (by now). The autoscan starts after a configurable amount of time once the playlist has changed, to avoid putting the cpu under high load during track change in dynamic playlists. Autoscan runs in a separated thread, so replaygain works while the scan is in progress; beware that the manual scan still runs in the main thread (the script will not work on anything else). Autoscan can be enabled/disabled using the playlist context menu, if you want to stop a running autoscan simply disable it; starting a manual scan will also stop a running autoscan; changing the playlist while autoscan is running will let it finish the current file and start a new autoscan. Requires amarok>=1.4.6 and python-xml
New anti-lag meassure: the script follows the playlist and will guess the next track to be played, avoiding to query amarok. Only works if amarok is not playing in random track mode. Requires amarok>=1.4.6 and python-xml.
Minor improvements:
The scripts keeps you informed while a scan is in progress (previous versions only informed when the scan started and finished).
The configuration dialog now informs you of what's supported and any dependency unmet.
Memory usage has been reduced
Files are checked if writeable before scanning them (many thanks to dAniel hAhler http://daniel.hahler.de/ for suggestion and patch)
Volume is updated if the current playing file hadn't replaygain tags after it is scanned (manually or automatically)
More bugs
--End of notes--

Please report any bug

Files supported:
vorbis (ogg), mp3, aac (mp4/m4a), flac, musepack (mpc), wma/asf

Dependencies:

Needed:
kdebase3 (kdialog and dcop), python 2.3 or later, and UTF8 filesystem character set (to use national characters in the filename).
Optional:
pygtk (python-gtk) for the advanced configuration interface.
python-xml for easy playlist album scanning, autoscan, lag-reduction
mplayer, oggenc (vorbis-tools), vorbisgain for streams and wma support.
kdebindings3-python for lag-reduction
The following external utilities:
. metaflac (flac): to apply replaygain tags on flac files. This is likely a standard package on your distribution
. vorbisgain: to apply replaygain tags on vorbis ogg files
. aacgain: to apply replaygain tags on mp4/m4a aac files (works for mp3 too)
. mp3gain: to apply replaygain tags on mp3 files. Not needed if you have aacgain
. replaygain (musepack): to apply replaygain info on mpc (musepack) files.
. mplayer plus oggenc (vorbis-tools) and vorbisgain: to apply replaygain tags on wma/asf files and streams.

Where you can get the needed utilities:

Check your distribution's software repositories first.
Guru's page for SuSE Linux has mp3gain and vorbisgain. (http://linux01.gwdg.de/~pbleser/rpm-navigation.php?cat=Sound/)
Packman has musepack packages (they include replaygain) for SuSE Linux (http://packman.links2linux.de/)
Musepack home page (http://www.musepack.net/index.php?pg=lin)
Vorbisgain home page (http://sjeng.org/vorbisgain.html)
mp3gain home page (http://mp3gain.sourceforge.net/download.php)
aacgain home page (http://altosdesign.com/aacgain/).
mplayer home page (http://mplayerhq.hu

How to use
First you need to analyze all your song files using replaygain. The replaygain algorithm calculates a perceptual volume (gain) for each track (track mode) and album (album mode) and uses this information to correct the playback volume so all tracks or albums sound equally loud. In album mode the relative differences between tracks of an album are preserved, so more quiet tracks will sound more quiet, and louder tracks will sound louder. Album mode is better for live recordings and albums meant to be more than a collection of tracks, while track mode is better for heterogeneus mixes and compillations.
This analysis will not change your file's sound data, it will store the information in tags.

You can analyze a stream, file, album or your whole collection from the playlist's context menu:
Apply Replaygain tags->
-- To selected files in track mode: tag one or more files (as selected in playlist) with their respective track gain (track mode).
-- To playlist in album mode: tag all files in the playlist with both album and track gain tags (album mode), as if the playlist is one album.
-- To entire collection using album tags: the script will group the files in the database using their "Album" tag, and scan each group in album mode.
-- Autoscan: if this is activated, files in the playlist will be automatically tagged (track mode tags only).
It is recommended to have python-xml installed for album tagging (if not installed, playlist tagging as such and autoscan will not be available).

Once a file is tagged with replaygain data, the script will be able to read such tags and it will update the volume as needed.

The mode tags used are selected from the playlist context menu:
- Replaygain mode: which mode will use (track or album)

If a file doesn't have replaygain tags or it is of an unsupported type, it will be played at the default gain.

You can configure the script's operation in the configure script dialog. The most important parameters are:
- Pregain: this is the reference gain in dB (from the 0 point set at 55% volume in amarok). The range goes aproximately from 11 dB to -17 dB. Any replaygain volume correction will be relative to this gain, so you should leave enough space in the range for the script to work. The recommended value is 6.0 dB.
- Peak protection: If enabled, the volume may be adjusted to avoid clipping.
- Default gain: this is the assumed gain for files with no replaygain information. A good value could be -6.0 dB.
- Autoscan delay: amount of time in seconds between the playlist change and the autoscan start. Avoids reacting too quickly to manual playlist changes, and most important, clogging the CPU at track change when using dynamic playlists.

Crossfade is supported, so the volume changes slowly when crossfading.
You have also the option of sudden or smooth volume change when crossfade is disabled in amarok.

Lag reducing howto
Some people are affected by large lag between track change and the replaygain volume update
Lag seems caused by amarok itself by taking too much time to return from dcop calls.
This has been related to high cpu load caused by sqllite and cover image rendering.
So, if you are affected, what can you do?
In amarok 1.4.6 and later the script keeps track of playlist changes, to guess what the next song is and tell amarok to adjust volume inmediatly, needs python-xml and only works if track are played secuentially.
The cpu load for using sqllite has been reduced in 1.4.0 and later, and if you are using 1.3.9 you can apply the patch included in the amarok replaygain script package. Install either of those. Using a external database may be a good idea if you have a large collection, too.
Install kdebindings3-python to take advantage of new script's code.
If you are using the script's OSD control (the "Disable OSD during...." option) disable the OSD or uncheck the script option, it couldn't be optimized because of bugs in pykde
To see how cover rendering affects you, you can move your covers elsewere (try with an author or two) so they are not found. Large cover files may have a big impact, if this is the case, use gimp to reduce them.
Run amarok minimized in the tray, it will not update visual elements saving much time.
Resource intensive software affects too (some screensavers, p2p, ...)
During this beta release debug output is enabled. Have a look at your lag (in seconds) by typing in a konsole/xterm:
tail -f ~/.kde/share/apps/amarok/scripts-data/replayggain.log|grep time
As a reference, my lag is well under 0.1 s (usually 0.01-0.05)


Feedback appreciated.

Enjoy!
Miguel Angel
Last changelog:

13 years ago

0.1-0.3.3
Old vorbisgain releases

0.5-beta "Reborn"
Major rewriting, now it is python
Renamed to replaygain
Add Album and peak support
New nice pygtk interface
Thanks to Kevin Radloff and Jocke "Firetech" for their suggestions and testing

0.5
Uses the new (since amarok 1.3.2) readConfig dcop calls if available, now the script is aware of amarok configuration changes
Added support for musepack (mpc) files

0.5.5
Added support for AAC (mp4/m4a) files
The script checks for external utilities when closing the configure dialog

0.6 "Clean OSD"
New option to disable osd updates during volume changes solving the annoying quick osd changes
Changed detection of external utilities since mp3gain has different behaviour depending on its version (thanks Jocke for pointing this out)
Settings are reread only when the engine starts playing, not at every song change
Fixed the check for external utilities so it solves the "mp3gain not found" missleading message, and a typo which prevented using aacgain when present.
Fixed flac on latest flac releases (thanks Gary Virta)
Changed the "utility not found" dialog to a less annoying notification
Many optimizations and speedups
Thanks Jocke and Roberto for all your testing

0.6.1
Hotfix: fix script breaking on amarok older than 1.3.2 when osd is disabled

0.7
Many new configuration options, not all can be accesed through the kdialog interface
Clipping protection may be disabled so volume doesn't go to 0 on some broken mp3 files
Pregain (volume reference level) may be adjusted by moving the volume slider
Pregain is now adjusted to tenths of dB instead of integer dB
The volume transitions may be smoothed over any specified amount of time when crossfade is disabled
Accurate timing so crossfaded/smoothed volume changes don't take longer than they should
Pygtk interface now has help as tooltips
Changes in script configuration take effect inmediately instead of waiting till next song
Script configuration is saved when amarok stops playing

0.7.1
Added support for mp3 files tagged with foobar (id3v2 tags), it requires id3v2 installed
SIGTERM handler

0.7.2
Added context menu shortcut to change replaygain mode

0.8.0
Internacionalization. Spanish translation.
New option to set the gain (volume) for files without replaygain info (or unsupported files).
Context menu options to apply/delete replaygain tags to playlist/collection. It is recommended to have python-xml installed for almbum tagging.
Some bugfixes

0.8.1
German, french and hungarian translations

0.8.2
Hotfix: do not break while scanning collection if unsupported file has no album tag.

0.8.3
Fix problems with special shell characters in filenames

0.8.4
Fix breaking if enviroment LANG variable is not set (assumes ISO8859-1 charset)

0.8.5
Fix encoding strings headache caused by gettext not returning unicode strings

0.8.6
Couple of small fixes

0.9.0
This release is designed to reduce lag (thanks Stewie for all your testing). Requires installing kdebindings3-python (aka python-kde) to take advantage of new code. Uses pykde for dcop calls if possible
Finnish GUI translation thanks to Samu Voutilainen
Slovak GUI translation thanks to Jozef Ří­ha
Russian translation thanks to Anton Chumak.
Reworked kdialog interface to fix problems caused by X error messages
Corrects collection scanning if using dynamic collection (patch by Frederic Dinh).
Use mutagen-1.4 library (http://www.sacredchao.net/quodlibet/wiki/Development/Mutagen) to read tags, except on mp4/m4a and mpc. Code for mpc and mp4 tag reading thanks to Justus Pendleton and QuodLibet player (needs ctypes python module). Dropped dependency on external utilities for tag reading.
Added support for RVA2 tags (used by QuodLibet and normalize)
Many bugfixes

0.9.1 Add portuguesse and polish GUI translations, updated finnish translation, thanks to Candido Lopes, Jaroslaw Gorny and Samu Voutilainen.

0.9.2: Add italian and turkish GUI translations. Many thanks to Davide "DuffyDac" and Fatih í‡iroglu

0.9.3: Add swedish GUI and README translation. Many thanks to Göran Jartin

richlv

12 years ago

quite often when quitting amarok, it fails to close. processlist shows that replaygain is still running.
i suspect that for some reason replaygain fails to close, thus preventing amarok from shutting down correctly.
can i somehow debug what replaygain is doing at this point ?

Report

C

maacruz

12 years ago

Quote:
quite often when quitting amarok, it fails to close. processlist shows that replaygain is still running.
i suspect that for some reason replaygain fails to close, thus preventing amarok from shutting down correctly.
can i somehow debug what replaygain is doing at this point ?

It is the other way around. When amarok exits it kills all running scripts, so if the script keeps running it is because amarok fails to exit. There is no way the script can prevent amarok from exiting, since it is a child process.
Try finding what may cause amarok to hang on exit, it may be the sound engine (change it and see what happens), a buggy release from your distro (try another release or build from sources), or may be some problem related to network shares (if your collection is in a samba or nfs network share)

Report

richlv

12 years ago

thanks for the response. next time when this happens i'll try to find out what amarok is doing then :)

Report

YAOMTC

12 years ago

Even after setting up MySQL for the Amarok collection and keeping Amarok to the tray, even while there are no demanding applications running, there is a delay to the volume change in Amarok after a new track begins. The ReplayGain tag is just a value for volume adjustment, right? Why can't the script have the volume adjusted before the track begins? Or is there something wrong on my end?

Report

C

maacruz

12 years ago

Quote:
Even after setting up MySQL for the Amarok collection and keeping Amarok to the tray, even while there are no demanding applications running, there is a delay to the volume change in Amarok after a new track begins. The ReplayGain tag is just a value for volume adjustment, right? Why can't the script have the volume adjusted before the track begins? Or is there something wrong on my end?

LOL
Of course there is something wrong.
Don't you think if that avenue would be available wouldn't have I tried it already?
There is simply no way to do that. Have a look at amarok notification system.

Report

C

maacruz

12 years ago

By the way, install python-kde bindings if you haven't done so, otherwise any IPC communication with amarok is done via command line which is much slower.

Report

YAOMTC

12 years ago

I did install that (it's python-kde3 on Ubuntu), and while I think all these things have helped, the lag is still there. Upon further investigation (which I should have done in the first place), I found this:

http://bugs.kde.org/show_bug.cgi?id=81661
(Maybe you've seen that already?)

So I realize it's impossible for this external script to be entirely lag-free. Maybe one of the developers will finally add to 2.0 what's been requested for nearly four years now.

Thanks for making this script, by the way. It's not a perfect solution, of course, but it's a good temporary one.

Report

reggler

12 years ago

Hi,

I just got the message a large lag would have been detected and i should install
kdebindings3-python/python-kde3 even tho I'm using kde4. I don't think this still applies, does it?

Report

C

maacruz

12 years ago

Yes, it still applies, since amarok is a kde3 application, and the script must communicate with amarok using dcop, which is a kde3 ipc protocol.
Also, if your collection is somewhat large, switching to mysql database backend would greatly reduce lag.
And last, running amarok minimized in the system tray, also has a quite noticeable lag reduction.

Report

acidzebra

12 years ago

It used to work fine, now I get

Traceback (most recent call last):
File "/home/mythtv/.kde/share/apps/amarok/scripts/amarok_replaygain/amarok_replaygain.py", line 615, in <module>
class Scan:
File "/home/mythtv/.kde/share/apps/amarok/scripts/amarok_replaygain/amarok_replaygain.py", line 616, in Scan
streamdb = shelve.open('streamdb.db')
File "/usr/lib/python2.5/shelve.py", line 225, in open
return DbfilenameShelf(filename, flag, protocol, writeback)
File "/usr/lib/python2.5/shelve.py", line 209, in __init__
Shelf.__init__(self, anydbm.open(filename, flag), protocol, writeback)
File "/usr/lib/python2.5/anydbm.py", line 83, in open
return mod.open(file, flag, mode)
File "/usr/lib/python2.5/dbhash.py", line 16, in open
return bsddb.hashopen(file, flag, mode)
File "/usr/lib/python2.5/bsddb/__init__.py", line 306, in hashopen
d.open(file, db.DB_HASH, flags, mode)
bsddb.db.DBInvalidArgError: (22, 'Invalid argument -- ./streamdb.db: unsupported hash version: 9')

any idea what this could be? I read the thread and one other guy had the same issue on Ubuntu, which "magically" was fixed after an update.

I'm on a vanilla FC7 machine.

Report

C

maacruz

12 years ago

I hate those "updates" to bsdDB :-(
Just delete ~/.kde/share/apps/amarok/scripts-data/streamdb.db
Restart the script and you are done.

Report

acidzebra

12 years ago

works like magic, thanks!

Report

richlv

12 years ago

when i am using both replaygain and remuco at the same time, it seems that they fight over volume control - if i change volume through remuco in small steps, replaygain adjusts it back.
remuco interacts with amarok through dcop, so this might impact what happens.

the ability to change default level with volume control in replaygain is enabled and works, but remuco changes are negated. only if i change volume by large amounts, i can get it closer to what i want (but that's quite problematic).

can this be solved in some way ?

Report

C

maacruz

12 years ago

I think it may be some issue of remuco, is it really controlling amarok via dcop?
The replaygain script respects volume settings done via dcop, as long you have enabled "allow pregain adjustment with volume bar".
Just try it by hand, open a konsole/xterm and type:
dcop amarok player setVolume volume_value
or
dcop amarok player volumeUp
and
dcop amarok player volumeDown

Report

richlv

12 years ago

thanks for the replay. i'll try manually changing volume with dcop, but in the meanwhile a new remuco version has come out that again supports amarok - and in my short testing period i didn't see the issue, so it indeed might have been an issue with remuco itself :)

Report

tzd

13 years ago

Hi and thanks for an amazing plugin!

I have a problem with it since I've upgraded from kubuntu 7.10 to 8.04.
I constantly get the "Large lag detected" message and it does lag.
I have installed all lag-reducing packages although I was unable to find the "pygtk" package?

I tried disabling album covers but that didn't make any difference. I have "kirocker" installed if that might add some lag?

I have disabled OSD (although it might turn itself on again with kirocker?).

My current playlist is approx. 200 songs.

I've got 768 mb of RAM and I'm running Kontact and Amarok.

When I check the lag time I see that the "url time" is most likely the cause?

My values:
Get url time: 1.43864703178
Tag reading time: 0.013689994812
Total trackchange time: 1.46719884872

I've got all my mp3's on a separate partition and it's separated from the album covers that are fetched from amazon.

Any suggestions on what might be wrong please? Would love to get it working "properly" :)

Report

C

maacruz

12 years ago

Quote:
I have installed all lag-reducing packages although I was unable to find the "pygtk" package?

Make sure you have python-xml and pykde (aka python-kde aka kdebindings3-python) packages installed.
pygtk is also known as python-gtk and python-gtk2 (I don't understand why the distros have to be creative with package naming)

Quote:
I tried disabling album covers but that didn't make any difference. I have "kirocker" installed if that might add some lag?
I have disabled OSD (although it might turn itself on again with kirocker?).

Are album covers still rendered? The rendering of existing albumcovers and other UI operations cause much of amarok slow response (because of high cpu usage during its timeslice).
I don't know about the effects of kirocker, I don't use it. If in doubt, you can do some tests with it disabled to see if there is any influence.
You can check the OSD state via dcop, type this in a konsole/xterm:
dcop amarok player osdEnabled

Quote:
My current playlist is approx. 200 songs.

I've got 768 mb of RAM and I'm running Kontact and Amarok.

I don't see any problem here, I have been using much less memory until recently.
I haven't seen any noticeable dependency of performance with playlist length.

Quote:
When I check the lag time I see that the "url time" is most likely the cause?

Use secuential play and "url time" won't be an issue.

Quote:
My values:
Get url time: 1.43864703178
Tag reading time: 0.013689994812
Total trackchange time: 1.46719884872

They are huge!
I usually have 1/10 of those (with the amarok window opened).

Quote:
I've got all my mp3's on a separate partition and it's separated from the album covers that are fetched from amazon.

Don't see any problem here (disk issues impact "tag reading time" only)

Quote:
Any suggestions on what might be wrong please? Would love to get it working "properly" :)

Run amarok minimized in the system tray, it will not do any grapical operation. I get a x10-20 speedup this way.
The script does tricks if you use secuential playlist playing, which can't be done if you use random play. Do not use random play (random album is ok, though, since only the first song of each album will be affected), use secuential play and randomize your playlist first if you so wish (this is a x2-4 seedup)
xine-engine is much faster than yauap/gstreamer engine.
If your collection is large, sqllite will have efficiency issues, which mysql doesn't have.
Filesharing applications can cause more system latency, so they can increase lag.
Run a cpu monitor and see what is the system load, are there any cpu hungry processes?

Report

tzd

12 years ago

Thanks for your answer Maacruz!

Followed all your suggestions and the one thing that really made a huge impact was changing from sqllite to sql.

There was quite a difference in lag as well when I started using smart/dynamic playlists instead of just adding manually songs to PL.

Thanks for all your help in this matter and a big thanks for an outstanding script!

Report

richlv

12 years ago

how large is your collection and what database are you using ? if it's sqlite, you might want to try using mysql.
if you need further help, try asking at #amarok on freenode.

Report

riteshsarraf

13 years ago

Why is it not part of KHNS?

I can't install the script from the Amarok interface.

Report

C

maacruz

13 years ago

I don't know. It was until recently.
I think it is some bug in kde-apps.org

Report

richlv

13 years ago

hi. a few questions that got me confused a bit :)

1. replaygain respects previous tags, even when rescanning whole collection in album mode (good). but does it know how to differ existing album/track mode tags ? that is, if an album is scanned in track mode, but a rescan works in album mode, will it be correctly rescanned ?

2. does album mode respect album grouping in amarok ?
for example, if two separate artists have albums with same name, are they treated separately ?
what about two compilations with same name that are grouped that way in amarok ?

thanks.

Report

C

maacruz

13 years ago

1. When rescanning whole collection all files are scanned in album mode. If an album has been previously scanned in track mode, then it will be rescanned in album mode. If an album has been previously scanned in album mode, it will be skipped, since there is no need to rescan again in album mode.

2. The album selection is done with amarok's database internal representation, not based only in album names. So, two different artists will have different albums, although they could have the same name. About compilations, I don't know, but amarok's database depends on file tags, so if the tags are different I think it will be the same case.

Report

richlv

13 years ago

thanks, i had hoped it works this way :)

Report

superjoe30

13 years ago

First off, let me say, thank you for your script. It is wonderful.

I run Amarok on top of gnome, and the latest version of your script broke because I use gnome:

/bin/sh: kdialog: command not found

I might remedy this by installing something that can handle the kdialog call. Do you know what package I can install to get this to work? Or maybe you could add lines to your code so that if this call fails, it defaults to whatever it did in the versions before this? (because they worked fantastic :P)

Thanks!

...and right before I hit submit, I installed enough kde packages to get past that error. However replaygain.py is still crashing on me. This time it only says exited with status 1, and a traceback:

Traceback (most recent call last):
File "/home/andy/.kde/share/apps/amarok/scripts/amarok_replaygain/amarok_replaygain.py", line 615, in ?
class Scan:
File "/home/andy/.kde/share/apps/amarok/scripts/amarok_replaygain/amarok_replaygain.py", line 616, in Scan
streamdb = shelve.open('streamdb.db')
File "/usr/lib/python2.4/shelve.py", line 234, in open
return DbfilenameShelf(filename, flag, protocol, writeback, binary)
File "/usr/lib/python2.4/shelve.py", line 215, in __init__
Shelf.__init__(self, anydbm.open(filename, flag), protocol, writeback, binary)
File "/usr/lib/python2.4/anydbm.py", line 83, in open
return mod.open(file, flag, mode)
File "/usr/lib/python2.4/dbhash.py", line 16, in open
return bsddb.hashopen(file, flag, mode)
File "/usr/lib/python2.4/bsddb/__init__.py", line 298, in hashopen
d.open(file, db.DB_HASH, flags, mode)
bsddb.db.DBInvalidArgError: (22, 'Invalid argument -- ./streamdb.db: unsupported hash version: 9')

Any idea what I could do to fix this?

Thanks!

Report

13 years ago

0.1-0.3.3
Old vorbisgain releases

0.5-beta "Reborn"
Major rewriting, now it is python
Renamed to replaygain
Add Album and peak support
New nice pygtk interface
Thanks to Kevin Radloff and Jocke "Firetech" for their suggestions and testing

0.5
Uses the new (since amarok 1.3.2) readConfig dcop calls if available, now the script is aware of amarok configuration changes
Added support for musepack (mpc) files

0.5.5
Added support for AAC (mp4/m4a) files
The script checks for external utilities when closing the configure dialog

0.6 "Clean OSD"
New option to disable osd updates during volume changes solving the annoying quick osd changes
Changed detection of external utilities since mp3gain has different behaviour depending on its version (thanks Jocke for pointing this out)
Settings are reread only when the engine starts playing, not at every song change
Fixed the check for external utilities so it solves the "mp3gain not found" missleading message, and a typo which prevented using aacgain when present.
Fixed flac on latest flac releases (thanks Gary Virta)
Changed the "utility not found" dialog to a less annoying notification
Many optimizations and speedups
Thanks Jocke and Roberto for all your testing

0.6.1
Hotfix: fix script breaking on amarok older than 1.3.2 when osd is disabled

0.7
Many new configuration options, not all can be accesed through the kdialog interface
Clipping protection may be disabled so volume doesn't go to 0 on some broken mp3 files
Pregain (volume reference level) may be adjusted by moving the volume slider
Pregain is now adjusted to tenths of dB instead of integer dB
The volume transitions may be smoothed over any specified amount of time when crossfade is disabled
Accurate timing so crossfaded/smoothed volume changes don't take longer than they should
Pygtk interface now has help as tooltips
Changes in script configuration take effect inmediately instead of waiting till next song
Script configuration is saved when amarok stops playing

0.7.1
Added support for mp3 files tagged with foobar (id3v2 tags), it requires id3v2 installed
SIGTERM handler

0.7.2
Added context menu shortcut to change replaygain mode

0.8.0
Internacionalization. Spanish translation.
New option to set the gain (volume) for files without replaygain info (or unsupported files).
Context menu options to apply/delete replaygain tags to playlist/collection. It is recommended to have python-xml installed for almbum tagging.
Some bugfixes

0.8.1
German, french and hungarian translations

0.8.2
Hotfix: do not break while scanning collection if unsupported file has no album tag.

0.8.3
Fix problems with special shell characters in filenames

0.8.4
Fix breaking if enviroment LANG variable is not set (assumes ISO8859-1 charset)

0.8.5
Fix encoding strings headache caused by gettext not returning unicode strings

0.8.6
Couple of small fixes

0.9.0
This release is designed to reduce lag (thanks Stewie for all your testing). Requires installing kdebindings3-python (aka python-kde) to take advantage of new code. Uses pykde for dcop calls if possible
Finnish GUI translation thanks to Samu Voutilainen
Slovak GUI translation thanks to Jozef Ří­ha
Russian translation thanks to Anton Chumak.
Reworked kdialog interface to fix problems caused by X error messages
Corrects collection scanning if using dynamic collection (patch by Frederic Dinh).
Use mutagen-1.4 library (http://www.sacredchao.net/quodlibet/wiki/Development/Mutagen) to read tags, except on mp4/m4a and mpc. Code for mpc and mp4 tag reading thanks to Justus Pendleton and QuodLibet player (needs ctypes python module). Dropped dependency on external utilities for tag reading.
Added support for RVA2 tags (used by QuodLibet and normalize)
Many bugfixes

0.9.1 Add portuguesse and polish GUI translations, updated finnish translation, thanks to Candido Lopes, Jaroslaw Gorny and Samu Voutilainen.

0.9.2: Add italian and turkish GUI translations. Many thanks to Davide "DuffyDac" and Fatih í‡iroglu

0.9.3: Add swedish GUI and README translation. Many thanks to Göran Jartin

12345678910
1
product-maker LazyKent Dec 09 2010 9 excellent
Be the first to comment
thoughtcrime
Jul 20 2009
File (click to download) Version Description Downloads Date Filesize DL OCS-Install MD5SUM
*Needs pling-store or ocs-url to install things
Pling
0 Affiliates
Details
license
version
1.0.0-beta5
updated Oct 20 2007
added Jul 03 2005
downloads 24h
0
mediaviews 24h 0
pageviews 24h 15
System Tags addon