· PeakController: always check for m_peakEffect != NULL before using it (closes #2616486)
· Fixed file mode for files that were executable although they shouldn't be
· NotePlayHandle: call instrumentTrack::deleteNotePluginData() before invalidating itself in instrumentTrack's m_notes array - fixes recording with instruments like Kicker
· MidiImport: show an information message if no default soundfont has been set (closes #2660545)
· MidiImport: per default use bank 0 instead of 128
· PatternView: if volume of a step is 95 it was not possible to increase it to 100 by scrolling up (closes #2656024)
· TrackContainerView: when dragging a preset file into TrackContainerView load complete track settings - fixes an issue where the track name was not loaded from the dragged preset
· PeakControllerEffect: corrected calculation for RMS and moved loops out of if-branches
· MidiPort: properly emit portChanged signals when loading settings - fixes MidiPortMenu showing devices not checked although actually connected
· MIDI subsystem: fixed misspelled "writeable" into "writable", minor coding style fixes
· AutomationPattern: save and restore length of AutomationPattern to avoid confusions with the previous auto-resize behaviour
· Various fixes for better OpenBSD compatibility (thanks to Jacob Meuser)
· FX-Fader: added accessibleName property for FX faders for not displaying an empty titlebar in context-menu
· MidiPortMenu: minor coding style fixes
· MidiAlsaSeq: fixed typo which made output ports not work at all
· MidiPort: subscribe writable rather than readable port when settings
· Fixed various types to be suffixed with "_t".
· Sf2Player: truncated LOG440 constant
· AutomationPatternView: fixed painting of automation data
· Vibed: fixed legacy code in NineButtonSelector
· MidiImport: fixed mistransposed notes
· LadspaEffect: fixed controller connections on samplerate changes
· Oscillator: fixed samplerate dependence of FM/PM
· ControllerConnection: export symbols for win32 build
· RemoteVstPlugin: use SplittedThreading model for MDA plugins
· Oscillator: reverted recent fix for PM
· VstEffect: set displayName property at initialization
· LVSL: track samplerate/tempo changes in VstPlugin base class
· panning.h: fixed compiler warning
· 3rdparty/libsamplerate: updated to version 0.1.7
· SongEditor: fixed horizontal scrollbar with Qt 4.5
· AudioJack: fixed lockup when getting zombified
· RemoteVstPlugin: use std::vector rather than std::list
· InstrumentTrack::masterKey(): fixed miscalculation
· German localization: fixed typo
· RemoteVstPlugin: fix issues with uniqueID
· RemoteVstPlugin: removed obsolete warning
· VstBase/CMakeLists.txt: do not fail with broken wineg++
· InstrumentTrack: fixed calculation in midiPitch()
· Plugin: try to load all shared libraries first
· FileBrowser: added file type VstPluginFile
· VeSTige: added support for d'n'd DLL files onto VeSTige instrument
· RemotePlugin: never lock up if remote plugin died
· PianoView/PianoRoll: fixed keycodes for OS X
· PianoRoll: do not make notes disappear under certain circumstances
· ZynAddSubFX: integrated into stable-0.4 series
· ZynAddSubFX: properly load/save instrument presets
· ZynAddSubFX: made MIDI pitch bend work
· RemotePlugin: made lock() and unlock() methods public
· ZynAddSubFX: do not subclass RemotePlugin
· RemotePlugin: allow waitForInitDone() without busy waiting
· ZynAddSubFX: do not lock up after rendering project
· InstrumentTrackView: save and restore last position of window
· ZynAddSubFX: added support for d'n'd XIZ files onto ZASF plugin
· InstrumentTrackWindow: clear focus on closeEvent
· EffectView: always check whether effect has a control dialog
· VstPlugin: added hasEditor() method
· VstEffect: check whether VST effect has an editor
· LadspaControl: set name property for tempoSyncKnobModel
· Added universal codebase for dragging plugin-specific presets
· README: Synced with master branch
· ZynAddSubFX: added preset collection by Will Godfrey
· Pass main window as parent for progress dialog when loading project
Core:
· fixed various bugs regarding MIDI recording and record accompany
· do not lockup when freezing pattern
· sampleBuffer: fixed small bug in usage of libsamplerate API which caused lots of zero samples at the end of various samples (e.g. in AudioFileProcessor)
· sampleBuffer: do not load samples bigger than 100 MB
· integrated latest libsamplerate which is both faster and more reliable
· various fixes to allow compilation with upcoming GCC 4.4
· simplified formulas for calculating envelope and LFO data resulting in about 3x performance when changing envelope or LFO parameter frequently (e.g. by automation)
· audio mixer: heavily improved organization of worker-threads resulting in much better performance and stability (especially with Hyperthreading-enabled CPUs)
GUI:
· update patternView after freezing
· fixed painting of frozen patterns
· make space always play song when in Song-Editor regardless of last button pressed
· rewrote timing of fading animation for not postponing updates of hidden fadeButton until it becomes visible
· disable output monitor per default and show a hint on how to enable
· small cosmetic improvements
· Piano-Roll: fixed bug that alloed to move notes past the beginning via shift+left
· fixed unquantized BB-objects dragging in Song-Editor, use Alt modified instead Ctrl
· fixed cloning of Beat/Bassline track
· fixed infinite recursion in mouse-event-handling of knob on Mac OSX
Plugins:
· Sf2Player: update patch after loading settings (i.e. project or preset)
· FLP import: properly initialize isMuted member - fixes muted FX channels when importing older FL files
heavily improved Piano-Roll:
· support for editing panning for individual notes
· easy selection of notes
· easy move of selected notes
rewritten FLP import filter which now works properly and imports about 70% of settings in an FLP file:
· support projects from FL Studio 3 to 8
· import volume, panning, pitch and FX channel for instrument tracks
· import various settings (such as reversed sample) into AudioFileProcessor
· import FX mixer settings and effects
· import automation data
· import channel- and pattern names
· import volume and panning settings of individual notes
· copy patterns from layer master to all layer children
· map more instruments to various LMMS instruments
· fixed importing steps/dots
· fixed scaling factor of various controls
rewrote wide parts of LVSL (LMMS VST Support Layer) backend:
· win32: fixed crash when using VST plugins which do not have a GUI
· support more VST plugins (Linux+win32) thanks to a new threading model
· suppress warning message when loading KarmaSynth VST
· try more symbol names for entry procedure
· in TripleOscillator per default set sub-octaves for Osc2 & Osc3
· minimal step of volume and panning knobs now is 0.1 instead of 1.0
· added Japanese localization files
· added STK support to win32 version
· various GUI performance tunings
Core:
· fixed crash when removing tracks
· do not lockup LMMS if remote-plugin (e.g. VST plugins or ZynAddSubFX) crashed
· mixer: use ordered memory semantics for atomic int - fixes random crashes on multicore systems
· mixer: lock mixer while adjusting lengths of notePlayHandles after tempo change
· mixer: removed fine-granular locking of various playHandle-vectors - fixes various deadlocks (e.g. when previewing samples in file browser)
· mixer: use one static jobqueue
· effectLib: improved for not being based on virtual-functions rather than direct function-inlining via template parameter
· fixed volume-scaling for IPH-based but not MIDI-based instruments
· removed obsolete instrument-parallelization support as this is handled much better by worker threads and adds unneccessary complexity
UI:
· rewrote about dialog
· when renaming a track initially select whole string so it can be overwritten easily
· display instrument icon on track label button rather than printing instrument name
· file browser: added filter feature allowing quick file access
· file browser: allow browsing drives in "My computer" tab on win32
· file browser: heavily improved performance when opening directories with lots of items in
· test piano: keep keyboard focus when changing knobs in the same subwindow
· fixed dragging presets and instruments onto track label button
· piano roll: do not crash when pressing right mouse button while moving a note with left mouse button
· piano roll: play preview notes also while playing pattern
· move position marker line even if autoscrolling is disabled
· automation editor: in erase-mode do not remove values without clicking
· do not show splash if environment variable NOSPLASH is set
· do not crash when opening controller connection dialog and using a non-sequenced (raw) MIDI-client
Plugins:
· improved VST GUI embedding
· sf2player: fixed crash when opening patch dialog the 2nd time
· LADSPA controls: fixed lost automation relations when switching samplerate
· LADSPA effect hoster: fetch pointer to LADSPA port descriptor once outside the inner loops - improves performance of loops by 400%
· LADSPA effects: properly build on OS X
· sf2player: use notePlayHandle::getMidiVelocty() rather than notePlayHandle::getVolume() for allowing less bright sounds by decreasing instrument-track's volume (if soundfont supports it)
· removed broken LiveTool plugin
Misc:
· updated localization files
· fixed a bunch warnings and remarks issued by Intel Compiler
· various tunings for GCC 4.4
· win32-build with latest Qt 4.4.4 snapshot
· ship a version of libvorbis-0.dll compiled with GCC 4.2 as GCC 4.3 miscompiles it
Core:
· fixed various crashes when previewing samples or presets
· don't mis-initialize random number generator with default value - fixes misbehaviour and crashes in large projects with lot of automation
· fixed cloning automation-patterns
· allow dropping automation patterns onto existing automation patterns
· disabled undo/redo of track/TCO operations (add/remove) as not mature yet
· fixed misbehaviour of automation pattern where new value was not set for control if it was on a tact boundary
· fixed crashes when exporting as OGG and output file can't be created
UI:
· improved visual appearence of timeline
· Song-Editor: added a vertical position line
· added support for user-configurable backgound artwork
· do not show messages about missing plugins when previewing presets
· keep loop markers from being in same position
· Piano-Roll: added new shortcuts for change Q and note length
· Piano-Roll: added "Note lock" mode to keep Q equal to note length
· Piano-Roll: fixed quantization when moving selected notes
· added setting for default soundfont which is used when importing MIDI files
· removed obsolete track icons
· display instrument name on track button
· hide pitch knob in instrument track window if instrument doesn't support pitch bend
· refactored MIDI tab in instrumentTrackWindow which now also allows setting arbitrary fixed velocity and defining a program for MIDI output
· controller selection dialog: automatically enable auto-detect LED when selecting a MIDI device
Audio/MIDI:
· WinMM MIDI backend: added support for MIDI out
· ALSA Sequencer MIDI backend: fixed subscription of output ports
· PortAudio backend: fixed segfault when other app uses and blocks the audio device
· SDL audio backend: fixed deadlock after exporting project (fixes freeze on Windows on export)
· rewrote MIDI import filter to be Portsmf-based and much more versatile
Plugins:
· PAPU-plugin: don't crash on 64 bit machines
· Sf2Player: fixed crash when re-opening a soundfont after all other instances of it were closed before
· LB302: removed useless inverted-saw waveform; added Sine, Noise, and Exponential waveform; use buttons instead of a knob
· BitInvader: added support for pitch bend and improved user interface
· Mallets: added support for pitch bend
· added a selection of nice SWH LADSPA plugins
· added CMT LADSPA plugins
· package ZynAddSubFX plugin into win32 build
Misc:
· changed preset's extension from "*.cs.xml" to "*.xpf"
· improved detection of Qt4 translation directory and included Qt4 translations into win32 build
· fixed paths when starting with no configuration file or having an invalid old one
· win32 version built against latest Qt 4.4.3 snapshot