Changes in version 0.7.8a
Fixed oggdec.c to prevent infinite looping when files are added which contain unterminated streams.
Applied a patch which cleans up superfluous suggested tags in the ogg vorbis tagger when there is a case mismatch e.g. artist vs. ARTIST.
Changes in version 0.7.8
Changed mp3 tab label text to upper case.
Fixed the Speex decoder so it cleanly rejects files that don't have frames_per_packet set to 1 or above.
Added a Speex encoder.
Changes in version 0.7.7
Fixes to oggdec.c in the flac seek and tell callbacks. Fix to oggflacdec.c so that end of tracks are detected.
Added an OggFlac encoder. Triangular dither is applied when using 16 and 20 bit.
Fade in/out made consistent across all JACK sample rates for microphone headroom, mic and aux mute/unmute, player mute/unmute.
Track fadeout now works consistently for all JACK sample rates.
Increased media player watchdog timeout to 9 seconds to accomodate very large media files.
An english label on the compressor now reads Release, formerly Decay. Decay was used previously due it being only five letters long.
A number of compressor, noise gate, and normaliser control values have been changed to units expressed as times and time constants in milliseconds, formerly they were samples and fractions of movement per sample. The former scheme suffered from being dependent upon the JACK sample rate and also it did not follow the example of actual studio equipment.
Ogg file metadata updates occur instantaneously when using the seek bar.
Fixed oggscan_eos in oggdec.c so that all ogg/oga files should import correctly.
Added the keyword 'managed' to the Ogg/vorbis encoder configuration line for when in managed bitrate mode.
Added a new Ogg/vorbis streaming configurator. Upper and lower limits are now expressed as a percentage. Feature expansion is made possible for alternative types of Ogg stream by this new arrangement.
Default text in the jack ports tab now reads system instead of alsa_pcm - this is compatible across different jack back ends but only for recent versions of jack.
Changes in version 0.7.6
The Radio Server window is now by default larger in order not to obscure the encoding format controls.
Removed the (mp3 only) text from the Shoutcast dropdown. When Shoutcast is unavailable due to non support of LAME mp3 encoding the Shoutcast dropdown item is set insensitive.
Builds of IDJC that lack mp3 streaming support now display an mp3 tab with a message where the configuration controls would otherwise be.
Support for Icecast version 1 servers has been dropped due to lack of support in recent versions of libshout.
STREAMERS and RECORDERS environment variables now affect ./configure and can be used to set the number of streamers and recorders that will be available.
The Add Files dialog now reports which media files are supported.
Removed the EXTM3U option from prefs. The current policy is to write m3u metadata when saving playlists and to ignore it on readback.
Extended m3u metadata is now Latin1 encoded.
Cleanups to the playlist populating code.
Added pls playlist support.
Single lined m3u files can now pull in directories.
Added xspf playlist support.
Added the ability to build with pmake, which is widely used on BSD systems.
Added file bsdcompat.c to include workalikes for GNU libc extensions with an aim to get IDJC working on BSD.
Stability fixes to oggdec.c to permit malformed ogg files without locking up.
Added support for the tagging of speex (.spx) files.
Removed a line of code that was causing a visual glitch on the play progress bar at the end of a track.
Added new command line options -m, -a, -t, -s. The man page has been updated to explain what they are for.
Added a speex audio decoder.
Changes in version 0.7.5
Saved Ogg streams now have the oga file extension which is the correct one to use for chained Ogg files.
Added a FLAC decoder for OggFLAC audio files.
Added a vorbis decoder replacing the libvorbisfile decoder that was present previously.
Added support for the oga (Ogg audio) file extension which is the correct one to use for chained ogg audio files.
Added a general purpose Ogg audio decoder which serves as a base for launching decoders for chained Ogg files (oga). All streams in the file can be of a distinct format and samplerate. It also handles obtaining metadata for the playlist.
Fixed a regression introduced in 0.7.4 which prevented shoutcast connections from working due to a labelling change.
Changes in version 0.7.4
Visual tweaks to Prefs->General.
Server connnect button will not grey out while streaming Ogg when Shoutcast is later selected.
Ogg stream serial numbers are now set to an initial random value.
Ogg streams are now guaranteed to contain at least five ogg page outputs per second. This will prevent listener clients from presuming the stream has gone dead and disconnecting. This means that to stream it is no longer necessary to set a minimum bitrate.
The record button is now greyed out when the recording directory is not writable due to file permissions etc.
Ogg recordings now have a meta-header.
It is now possible to run multiple instances of IDJC.
JACK server connection is achieved with jack_client_open instead of the deprecated jack_client_new function.
Minor tweaks to tooltips.
Connection type chooser now indicates mp3 only for Shoutcast.
Changes to the Update, Server Connect, and Record tool tip texts to indicate why one of these buttons might be greyed out.
Record button no longer greyed out when the server connect button is greyed on account of Ogg + Shoutcast widget combination.
File choosers replaced with their more modern versions.
Updated the realtime.html documentation page.
Changed the way command line parameters are handled. Added a new option for specifying which jack server to connect to.
Added code to clean up double bolding occurrences in the playlist.
Updated the idjc man page.
New translation en_US.
New module ln_text.py to facilitate multi language support, replaces langheader.py, includes maintenance features.
Changes in version 0.7.3
Documentation on the website and in the doc folder has been updated.
Option --disable-tooltips has been added to ./configure
A window showing the GPL licence text is now included as part of the program.
Removed usage hint text from the gtk.Entry in the Prefs->Event tab. The tooltip should be sufficient.
The server connect/disconnect timers deactivate once they have performed their task. They now have a default text of 00:00.
The Ogg relative upper and lower bitrate spinbuttons are greyed out when deactivated.
Fixed a bug where mp3 files with a LAME gapless tag would not play if their sample rate differed from that of the the JACK sound server.
Added a great many tooltips.
Support for new GTK tooltips API. Tooltips require PyGTK version 2.12 or later.
Bits and bobs in Prefs->General has been retitled 'Miscellaneous Features' and the various options now have descriptive labels.
Dead code has been removed.
The space where the indicator box used to be is properly removed in Basic Streamer mode.
Reduced the microphone latency to the headphones when in VOIP mode. Direct mixing rather than a jack audio bridge.
Added the option to turn off microphone audio in the DJ headphones. This is a facility for those suffering with high audio latency.
Added support for upper and mixed case file extensions. Example: Mp3, oGg, FlAc are accepted into the playlist.
Changes in version 0.7.2a
Fix to a regression in file kvpparse.c (memory leak).
Deactivated the pointless watchdog code in idjcsourceclient.
Changes in version 0.7.2
Added gapless mp3 playback.
IDJC now runs with environment variable MALLOC_CHECK_ set to 2. This prevents IDJC from crashing when minor heap corruption occurs.
Fixed uninitialised variables bug in the mixer (metadata packet type).
Fixed uninitialised variables bug in the mixer (fade index).
Removed obsolete code from the Ogg/vobis encoder.
Changes in version 0.7.1a
The pop-up window now has a border.
DJ aud level now works in 'Basic Streamer' mode.
Cosmetic change to stream normalizer in prefs.
Fix for the opening vu meters causing a crash bug.
Build system fix for Ubuntu 7.10 regarding problems detecting libmp3lame.
Removed the obsolete LED indicators from the main window.
Changes in version 0.7.1
The idjcctrl program now has connect and disconnect commands to allow server connection/disconnection from the command line.
Added global exception handling to vu_update to ensure thread unlocking occurs.
Added a fallback mode for decoding m4a files using ffmpeg. FAAD2 versions 2.5 and up are not supported directly by IDJC.
Added handling for corrupt m4a files in mp4decode.c.
The update button causes server reconnection when streaming to shoutcast which ensures that shoutcast servers know the correct bit rate.
Bitrate, samplerate, and number of channels info is now set before the connection is made which should resolve some shoutcast issues.
Changes in version 0.7.0c
Fixed regression in the X-Chat announcer which would cause the application to lock up if used.
Changes in version 0.7.0b
Fixed a regression in the playlist controls 'Stop streaming' and 'Stop recording' which was causing a lock-up to occur.
Changes in version 0.7.0a
Updated ebuild.
Reinstated the MP3meta=utf-8 option.
Added a DJ audio output level control in the preferences.
Removed idjcskype and its man page which are obsolete and replaced it with new documentation in the VOIP tutorial. Skype is confirmed working within IDJC.
Changes in version 0.7.0
Implemented a new, more powerful streaming architecture with multiple streams possible, greater control over quality settings, ability to change the bitrate live on air, and the ability to stream from a prerecorded file with the metadata preserved.
Removed the MP3=utf8 option. This option is now always turned on meaning that mp3 metadata is always encoded as utf-8.
In the mixer altered the way microphone signals are processed when the microphone buttons are muted. This greatly reduces the amount of CPU used since half of all CPU usage by the mixer was going into processing the microphone signal.
New license: GNU General Public Licence version *3*.
Changes in version 0.6.12a
Streaming can now be started automatically by timer.
Changes in version 0.6.12
FLAC tags are now read regardless of case.
Added a decoder for wma files (requires libavcodec and libavformat from ffmpeg).
Underscores are now allowed in profiles.
Added a 'Switch To Aux' playlist control to allow the streaming of some defualt audio source via the aux input once the playlist has run its course.
Fixed end of track detection for right player when left player was playing.
Fixed metadata reading bug for flac files where lower case tags were not being read.
MP3 encodes with greater precision. No longer limited to 16 bits audio input.
Added new executable named idjcctrl to provide a feature that allows a remote application to append files to the playlist. m3u and pls files are allowed.
Added a control for player resampling quality.
Code cleanup in xlplayer. All decoders moved to own modules.
Ogg decodes to float instead of 16 bit integer.
Added mp3 playback using libmad - optional.
Added m4a playback support with faad2 - optional.
Support for FLAC-1.1.3 and beyond has been added - FLAC is now optional.
Fixed a couple of traceback/race conditions in mixprefs.py.
The playlist popup window now correctly reports which file is playing when there are untagged files in the playlist.
Improved handling of missing LAME mp3 encoder by adding a dialog informing the user if they need to install LAME.
Removed the xine-lib dependancy.
Timeout will no longer take JACK down with it.
Changes in version 0.6.11
Added a tooltip style popup window to the playlists that shows a summary of the playlist contents and indicates the track which is playing (if any).
EyeD3 is now optional. This means that idjc packages can be made regardless of whether an eyeD3 package is available for that particular distro. Tagging functionality is disabled when eyeD3 is not present and id3 tag reading is performed instead by xine-lib.
Fixed a bug where xine would be used to read ID3 tags regardless of whether eyeD3 had already done so. This was causing problems with certain files that had id3 version 1 tags and contained accented characters. This bug has also been fixed. Any failure to decode from utf-8 on the tag info xine-lib provides will result in their being decoded from latin1 instead.
Code cleanup in the limiter.
Changes in version 0.6.10
Added a bug workaround so that a seek to the last second of audio of a track when using the xine-lib decoder will not occur. This was added to prevent a mixer crash.
Added an event driven commands feature in the Prefs, mainly for controlling the mixer. Included tooltips.
Changed copyright message to read 2005-2007
Added a popup menu to the prefs, server, jingles, window open buttons that contains a close option.
The locale in the mixer and server modules is now forced to 'C' to ensure proper operation of sscanf when faced with floating point numbers.
Added a playlist control for normalising the playback speed. The hotkey for this is N. Added an option to disable this to save CPU cycles and screen space.
Added playback speed control for main media players. Block size, time remaining, and finish times are appropriately affected.
Changes in version 0.6.9
A new context menu puts controls for turning on/off of the various meters into the main window plus gives the ability to quit the application when running from TWM (terminal window manager) which does not display an application close button.
Cellrenderer code is now prevented from running during shutdown.
Function write_channel_data will no longer attempt a write when num_samples==0 this is to prevent the possibilitity of dereferencing a null pointer.
Function demux_channel_data will no longer generate a spurious error message and exit when num_samples==0, this done for compatibility with new libsndfile related code.
Added libsndfile based media file decoder for wav files. New dependancy libsndfile.
Replaced deprecated gtk.threads_enter/leave instances.
A xine config file is now generated automatically by idjc in the ~/.idjc directory. This prevents the loading of the unused audio and video drivers as well as preventing the probing of the most efficient memcpy method. The result is a faster startup time. The mmx memcpy method more than meets the needs of the application. On some machines the probe was causing failure.
Function xlplayer_create no longer returns before the player is fully initialised.
The mixer module initialisation is now waited upon directly, after launch by the parent.
Changes in version 0.6.8
Added profile support. To use it launch idjc as follows: idjc profilename. This causes a dialog box to appear asking if you want to create a new profile. A further dialog box allows you to import settings from a different profile. The main window title-bar indicates which profile is in use whenever you are not using default. If you don't specify a profile the default behaviour is to ask you which profile you want to use.
Fixed a crash that would occur when attempting to play from an empty playlist.
Added an option for MP3 metadata to be in UTF-8 encoding instead of the ISO8859-1(latin1).
Updated the X-chat plugin to show a helpful error message within X-chat whenever an announcement message is dropped due to not matching the specified nick in any of the specified channels.
Changes in version 0.6.7b
Fixed the pause feature. It was causing the track silence timeout to trigger.
Track silence timeout increased from 5 to 9 seconds and the silence threshold has been raised a bit.
Changes in version 0.6.7a
Improvements to the compressor de-ess mechanism.
Bugfix to compressor: de-ess was being fed an uninitialised value.
Accuracy improvements to the db lookup/conversion tables.
Improvements to the soft knee compression curve in the compressor. Values checked with gnuplot.
Changes in version 0.6.7
Changed the method used to implement the xlplayer watchdog.
Added an RMS filter to the microphone compressor.
Greatly improved the handling of launches of duplicate IDJC instances (the taskbar will flash for the currently running instance and the second instance will exit with a console error message).
Improvements to the makefiles.
Fixed the three-mixer-crashes-and-it's-out code. IDJC will shut down cleanly and will even save the session for later restoration.
Added a desktop menu item for gnome and kde.
Major facelift for the idjc homepage which doubles as the documentation in the doc directory.
Updated the IDJC man page and added a new man page for idjcskype.
Changes in version 0.6.6
Added a high quality mp3 streaming control to the server window. This uses more CPU but the results are much better. Also added a 24kb/s streaming mode for modem listeners.
Added a timeout to the media decoders so that the mixer will be restarted in the event of a lock-up resultant of a bad media file.
Fixed a bug where when streaming ogg with an insufficently tagged file the file metadata would contain html tags.
Fixed a bug in the Ogg/vorbis decoder where errors in an ogg file could go unhandled resulting in a mixer crash.
Changes in version 0.6.5
Option to save and restore the server password added to the preferences.
The mixer module is now automatically restarted upon a crash. This means the application will hopefully not freeze. The main media players are bumped onto the next track so that if a corrupted track had caused the crash it will be skipped. This feature also works when jackd is closed via killall.
Application now starts more quickly because the xine config file is used. This has a downside in that a corrupted config file can cause xine to segfault.
Added optional support for reading file info directly from mp4/m4a files and for tagging. This feature is dependant on libmp4ff and its header file mp4ff.h being present.
Optimisations for playlist stats reduce cpu load, also made it so meters only get updated when the new data differs.
Regression fix to the playlist controls.
Changes in version 0.6.4a
Audio processing is suppressed during FLAC seeking to prevent spurious audio output.
Made the stream and listen buttons mute/unmute gradually.
Changes in version 0.6.4
The metadata tagger window can now be resized.
Added gapless playback (perfect for concept albums that typically lack silences between tracks). Also the player skips to the next track after 5 seconds of silence. This is to counter the obvious downside of having files that contain bonus tracks in your collection.
When adding controls to the playlist when a track is playing, the playing track is not now reselected afterwards.
Added a dither option mostly for people with 24 bit capable soundcards.
When the jingles sequence box is shaded it no longer collects values via doubleclick.
Implemented a whole new player architecture, dispensing with mplayer and using a simple audio decoding engine within the mixer module itself. Benefits include quicker player startup/shutdown times and reduced system load when doing so, the ability to add new features in the future, much faster seek times. Some file formats that worked previously may no longer play, however or may play but not be seekable. If xine can play it so can idjc. That means avi files can now be played (audio only). Implemented alongside the xine decoder a FLAC and Ogg/vorbis decoder so that those formats are seekable.
Changes in version 0.6.3
Additional German translation.
Removed the artificial size restrictions on text strings in the server window.
Fixed a crash that occurred when disconnecting from the server.
Fixed a problem with the shutdown code where a segfault could sometimes occur.
Added session restoration. On by default, but can be switched off in the prefs.
Added the ability to transfer focus from one playlist to another using the left and right arrow keys. You can now move files across using shifted left and right arrow. Also the delete key removes files, and in addition to the space key which plays files, the backspace key causes play to stop. M opens the microphone and < and > open left and right mic in split-mic mode. Keys 1 and 2 cause the crossfader to move to the respective player. The c key passes the crossfader. The t key activates the metadata [t]agger. S inserts a [s]top control. A inserts a transfer [a]cross control. F inserts a [f]ade across control.
File requester directory is remembered across application restarts.
Changes in version 0.6.2b
Fixed an off-by-one error that resulted in heap corruption and crashes when adding Ogg files to the playlist.
Changes in version 0.6.2a
Fixed a freezeup bug triggered when loading an extm3u playlist in extm3u mode.
Changes in version 0.6.2
Added a zero cross switch to the pause feature of the recording facility to prevent audible clicks (this makes the automatic pause feature fully usable).
Changed the digital filters to use variable type double instead of float because of blowup problems.
Changed the ceiling label in Stream Normalizer to read threshold.
Fixed a misconfiguration bug in the stream normalizer that resulted in audible clicks on the stream audio when the digital zero threshold was breached and the app had been started with the stream normalizer turned off.
Changes in version 0.6.1b
Partial code rewrite for Ogg metadata. This may fix a bug that results in an infinite loop when a corrupted or non 100% compliant Ogg file is encountered.
Changes in version 0.6.1a
Fixed the parsing of track lengths in Ogg files. Parsing is also much faster now.
Changes in version 0.6.1
Added lead-in stripping. Songs with quiet endings are also cut short when fadeout is on.
Added an information display for playlist blocks showing the time the block will finish, remaining time, size of any additional selections.
Now uses the python path from AM_PATH_PYTHON in the launch script. This is preferable when there are multiple installs of python on your system so the correct one is run.
Added volume normalization to the stream audio.
Added a track length column to the playlists.
Added a history log file. This file catalogues the song changes and server connections. It is saved to ~/.idjc/history.log.
Added automatic module restarting for the server module (idjcserver). If idjc was streaming at the time the server module failed, the connection will be automatically remade. Without this feature idjc would freeze up.
Fixed a regression for when adding playlists with the file requester.
Changes in version 0.6.0
Enforced minimum library versions in ./configure.
The page size for the range widgets is now set to zero which helps with rendering of the range widgets when using the QT rendering engine.
Added a fix for when the digital progress box is not big enough for its text. An option in the prefs.
Fixed idjcserver.c so that it no longer segfaults when libshout is not present. Added inclusion of string.h to dsp.c and pipereader.c
Added the ability to tag files live on air. The effects propagate properly.
Added ability to stream Ogg metadata.
The streaming encoding method is now remembered across application restarts.
Increased the number of different streaming bitrates available.
Changes in version 0.5.9a
Fixed a bug where the music would loop if a loop option was specified in ~/.mplayer/config
Fixed a bug in the jingles player where the Sequence box would become unusable after playing jingles.
The sequence box now has focus when the jingles window is opened.
Changes in version 0.5.9
The automatic crossfade speed adjustment can now be set as high as eight seconds.
The currently playing track can now be dragged in its playlist without the track stopping.
Added playlist control elements that are accessible from the playlist pop-up menu for doing such things as automatic crossfades, stopping the player, or even stopping streaming after a certain track is played. This feature is supported in Play All mode only.
Crossfader pass-speed is now remembered.
Fixes to locale code.
The recorder can now pause automatically when there is silence in the audio.
Will now install png files for the graphics which significantly reduces the installed size. Xpm graphics will remain available.
Added dialog windows for when the connection to the radio server has been disconnected.
Added LED-style indicators in the main window for streaming and recording.
Added a shutdown confirmation dialog box that appears when you hit the application quit button and you are streaming or recording at the time.
Player settings at startup now include the Tracks Played window state and the Stream Mon button.
Drag and drop with Nautilus is now working. Konqueror drag and drop now supports the # and % characters.
Added window resizing to the main and jingles window to reduce the need for scrolling in the playlist windows. Window sizes are preserved across application re-starts.
The IDJC entry in the documentation directory now includes the package version number as well as the package name. The documentation files themselves are now g-zipped. The documention directory is now /prefix/share/doc rather than the non FHS compliant /prefix/doc directory.
Changes in version 0.5.8
The locale is no longer set to en_US whenever no locale setting is present.
Fixed a bug that would cause an application lock-up related to code added in version 0.5.7 for sending metadata upon connection--the newmeta flag is now cleared automatically. The bug manifested itself whenever a failed login to the radio server occurred upon a repeat connection attempt.
Added code that calls shout_set_audio_info to declare the bitrate, sample rate, and number of channels. This should help users of certain clients who may be having problems tuning in.
Added EXTM3U option to prefs. This allows the turning off of extended m3u processing for when you add playlists. It also prevents the saving of extm3u data (when deactivated) when you save a playlist.
A sensible filename will automatically be chosen when none is specified when saving playlists. A default filename is also provided.
The application will now work when /dev/shm is present but not world writable which sometimes happens. Should that be the case pipes will be created in the users home directory instead.
The file chooser dialog now supports multiple file selections.
The file chooser dialog now works properly with G_FILENAME_ENCODING set to @locale with files with international characters in the filename.
Listen and Stream buttons are now respected in Basic Streamer mode.
Fixed a bug where IDJC could hang when Send Metadata was unselected.
Added a 192kbps Streaming mode for mp3.
Changes in version 0.5.7
The song title metadata is now automatically set upon connection with the server.
No longer allocates buffers for every frame of data. The old ones are reused if they are big enough.
Added a track history so the DJ no longer needs to remember what tracks he played.
Altered vu_update so it can be used in two modes rather than maintaining two almost identical functions. Calling it with False as the parameter will prevent thread locking from being used. I also moved the thread locking to the outermost scope of this function to prevent the two forms of the function from possibly running concurrently and causing a lock with the server module.
Removed unused variables in the mixer. Tidied up variable declarations and added comments. Moved global variables to local ones wherever possible. Changed one or two variable types in relation to the DJ Alarm mechanism for consistency. Altered the way the pipe_reader structures are handled--they are now allocated on the heap.
mIRC style colour entry can be done by pressing Ctrl+k which inserts a character-code-3 into the message entry boxes of the X-Chat announcement feature at the cursor. The user needs to follow it up with a numerical foreground colour number and an optional comma separated background colour number. A Ctrl+k not preceding a number will cause colours to revert to default (colours turned off).
A submenu has been added so that it is now possible to select colours in the X-Chat (announce and timer) message boxes, by right clicking for a pop-up menu, and browsing the "mIRC Colour Chart" submenu. The first click chooses the foreground, and the second click, the background, which is slightly different to how X-Chat does it. Colour 99 is for transparent background.
Modified a couple of german labels to prevent distortion of the GUI.
Added code for a clean exit when receiving a ^C in the console.
New labels for most of the widgets in german. Credit in the AUTHORS file.
Added infrastructure for multiple language support. The intention is to initially support english, german, and french.
JACK error messages generated when starting JACK automatically no longer cause IDJC to fail. Some of these messages are merely informational so they can all be ignored. They are now prefixed JACK instead of IDJC and are only treated as information when the client activation fails.
Now plays mono wav files propery with MPlayer CVS version.
The pipereader code has been rearranged so that it is now as integrated into its own code module as is practicable. Added a precautionary mutex on the flushing mechanism.
Changes in version 0.5.6a
Bugfix: repaired the track seeking ability of the media players.
Changes in version 0.5.6
Added a pause button to the stream recorder.
Ripped out all the reusable code from the mixer and put it in separate source files.
Improved microphone icon. Before it was perfectly horizontal which looked a bit odd. The shaft colour is now bronze from the slightly greenish anodised look of before.
Added a man page for IDJC. It covers advice on configuring JACK.
Modified the parse routines in idjcmixer and idjcserver to use code in a new common source file kvpdict.c that ensures that no buffer can be overfilled. A new buffer is allocated every time that new data is received (made perfectly to measure) rather than using fixed size buffers as was done previously.
Thanks to the GNU autotools libshout is now optional, but recommended of course. The server window streaming related widgets will appear ghosted if you install IDJC without libshout.
Added GNU autotools build system. ./configure and all that.
Added a feature where the mic button is automatically turned on when in greenphone mode. The mic was always on in greenphone mode before but the display did not always reflect this. The microphone stays on after greenphone mode is cancelled.
The listen buttons go into indeterminate state now and become insensitive when in redphone mode with the microphone off. Before the listen buttons would just go insensitive and when made sensitive later on they got stuck in pre-light mode until moused over (stupid GTK+ glitch, I suspect).
Added a control string and an update button for metadata. You can now update the metadata manually with a button click.
Added a bandpass filter for the noisegate. This makes the noisegate much less sensitive to low frequency air effects and mains hum, and shuts off sooner due to high frequency room reverberations also being filtered out.
Subtle graphical tweak to the phone icons to look a little less flat by adding some shading.
Optimised the mic and aux fade in/out code to prevent the gain factors from getting too small (it overloads the fpu). Optimised the compressor and noisegate by doing the above and by eliminating casting and reducing division. CPU usage on the mixer is now in the 3-4% range when optimised. Before it would start at this point and rise to around 6-7% (on my machine at least).
Volume and Aux now fade in/out when the mute/unmute buttons are pressed. Red button on the jingles player now causes the interlude player volume to be automuted.
MPlayer is no longer started with -cache option for FLAC and Ogg files due to the extended startup times involved.
Code tidy-up in the mixer. Most notably in the buffer flushing code. Added some comments.
The track played by the interlude player is now highlighted.
The sequence box is now ghosted when the jingles player is playing.