Ok, it’s that time again.
Couple of neat new features in this one, plenty of bugfixes, and a bit of tidying up.
Some of the changes will unfortunately require some minor tweaks to your code, but it’s all for a good cause. Here are the changes:
* I've done a bit of tidying up of the juce tree, moving things like the demo, the jucer, etc into a folder called "extras", and this also now includes the audio plugin code and BinaryBuilder, rather than having those available as separate downloads. * native menu bar support for the Mac! See MenuBarModel::setMacMainMenu(). * a few changes to the MenuBarModel class and MenuBarComponent - the model object now has listeners, and when a menu changes, you should call MenuBarModel::menuItemsChanged() rather than calling the old equivalent method on the bar component. Also, the MenuBarModel virtual methods have changed slightly and no longer have a menu bar component as one of their parameters. One other related change is that DocumentWindow::setMenuBar() no longer takes a command manager - you should register the command manager directly using MenuBarModel::setApplicationCommandManagerToWatch * horizontal mouse-wheel support - this involves a change to the Component::mouseWheelMove method, to add an extra parameter. If you've got existing code that uses the old form of this method, it should fail to compile with an error, and you just need to tweak it to add the new parameter * sorted out some problems with the jucer's colour swatch menus * fixes for AudioDeviceManager forgetting channel selection * added a textCharacter member to the KeyPress class - this allows a unicode printing character to be stored separately from the keycode. * added support for extra numeric keypad keys like add, subtract etc, and F13-F16 * added a radio group ID field to buttons in the jucer * renamed TaskbarIconComponent as SystemTrayIconComponent to make it more obvious what it does, and added support for tray icons on linux (thanks to kraken for the code for that one) * new class: ChannelRemappingAudioSource, which lets you take a source and remap its input and output channels. * some tweaks to the Time functions on win32 to make them slightly more efficient * new method: Slider::setIncDecButtonsDraggable(), which adds a hybrid click/drag mode to the inc/dec button slider * added some linux-specific methods for creating new midi in/out devices (ta to kraken)