| Anonymous | Login | Signup for a new account | 10-09-03 02:46 CEST |
| Main | My View | View Issues | Change Log | Roadmap | Docs |
| Viewing Issue Simple Details [ Jump to Notes ] | [ View Advanced ] [ Issue History ] [ Print ] | ||||||
| ID | Category | Severity | Reproducibility | Date Submitted | Last Update | ||
| 0001666 | [XMMS2] plugins | feature | N/A | 07-07-09 00:17 | 07-10-19 23:03 | ||
| Reporter | syscrash | View Status | public | ||||
| Assigned To | andersg | ||||||
| Priority | normal | Resolution | fixed | ||||
| Status | resolved | Product Version | |||||
| Summary | 0001666: volume normalization plugin | ||||||
| Description |
I wrote a plugin that dynamically normalizes the audio so that one doesn't have to keep playing with the volume. This is different from replaygain in that it can be used with shoutcast etc. streams, as well as with songs that don't have replaygain info (lazy user). |
||||||
| Additional Information | |||||||
| Tags | No tags attached. | ||||||
| GIT commit id | 1a32d71fec67dd5e73847bb4f6a98aec83958e58 | ||||||
| Has patch | |||||||
| Attached Files |
|
||||||
|
|
|||||||
Relationships [ Relation Graph ]
[ Dependency Graph ]
|
||||||
|
||||||
Notes |
|
|
(0002102) syscrash (reporter) 07-07-09 00:43 |
xmms2-normalize_v2.tar.bz2 adds legal stuff (LGPL headers) and renames config.h to compress_config.h. |
|
(0002103) syscrash (reporter) 07-07-09 01:24 |
v3 gets rid of the few-second inaudibleness when changing songs. The buffer stuff will be freed either on exit (automatically) or when the plugin is disabled. |
|
(0002105) syscrash (reporter) 07-07-09 03:25 |
v4 removes some code repetition and removes the use of 'supported_fmt', letting xmms decide that instead. rafl had suggested other code repetition removal stuff, but it would be difficult to do in C due to my use of struct members. |
|
(0002108) andersg (administrator) 07-07-09 22:51 |
Gave the code a quick look. Looks pretty good. A few things came to my mind: * There are global variables in compress.c, will it work correctly if there are two instances of the effect running at the same time (such as at songchange) * Where does compress.c come from? It seems to be picked up from another project, is it one of your own projects, are you the copyright owner? * There are a few indentation errors, especially on multiline statements. * CompressDo is called with "len" as argument in xmms_normalize_read. Should be number of bytes actually read (read) * I suggest you do config_params as a struct instead to conform with other code (like formats in oss-plugin, which also uses G_N_ELEMENTS to iterate over it) Havn't tried to compile the code, only looked at it. I really want this to be included. |
|
(0002109) syscrash (reporter) 07-07-10 00:03 |
The globals should be fine during song change. It may become a problem if it is possible to have two instances of the plugin running at the same time other than in the case of a song change. If such instances are possible, I'd have to modify compress.c to get rid of the globals. All of the compress_* files come from AudioCompress, an LGPL thingy: http://beesbuzz.biz/code/audiocompress.php [^] I was able to spot one indentation error and fixed it. I fixed the call to CompressDo. config_params is now done as a struct. I set it to enable "use_anticlip" by default, since replaygain does this. Thanks for the comments! |
|
(0002113) andersg (administrator) 07-07-10 13:01 |
Great. I have added it to the "normalize" branch of my git tree. I'm missing a patch to AUTHORS to add you. It would be nice if the globals could be fixed. |
|
(0002115) syscrash (reporter) 07-07-10 20:59 |
Here's a patch to AUTHORS. I didn't really want to hack on compress* so that we could keep in sync with AudioCompress but, seeing as no development is taking place there (it is essentially complete), I guess I should get rid of the global stuff. I should have it done some time today. |
|
(0002116) syscrash (reporter) 07-07-10 23:31 |
v6 gets rid of all static variables by introducing a new typedef'd struct (compress_t) to hold relevant data. The compress code has been reindented and some variables renamed to fit with the XMMS2 style. |
|
(0002124) syscrash (reporter) 07-07-16 22:04 edited on: 07-07-16 22:07 |
v7 fixes config handling as described in bug 1676. Should xmms_plugin_config_lookup be put into a header file? (see normalize.c:43) |
|
(0002127) andersg (administrator) 07-07-25 23:32 |
Updated version available in the normalize branch in my tree. Would like the config stuff (0001676) fixed before merge. |
|
(0002407) automatic (developer) 07-10-19 23:02 |
commit 33d6486af0c6a174a34cd4b65f88f1b2e40425ff Author: Anders Waldenborg <andersg@xmms.org> AuthorDate: Fri Oct 19 22:30:04 2007 +0200 Commit: Anders Waldenborg <andersg@xmms.org> CommitDate: Fri Oct 19 22:31:30 2007 +0200 FEATURE(1666): Cleanup normalize plugin |
|
(0002408) automatic (developer) 07-10-19 23:02 |
commit 1a32d71fec67dd5e73847bb4f6a98aec83958e58 Author: Javeed Shaikh <syscrash2k@gmail.com> AuthorDate: Tue Jul 10 12:55:42 2007 +0200 Commit: Anders Waldenborg <andersg@xmms.org> CommitDate: Fri Oct 19 21:50:09 2007 +0200 FEATURE(1666): Added normalize effect plugin |
| Mantis 1.1.6[^] Copyright © 2000 - 2008 Mantis Group |