diff -Nru lmms-0.4.13-stable.git.2254/CMakeLists.txt lmms-0.4.14~rc1/CMakeLists.txt --- lmms-0.4.13-stable.git.2254/CMakeLists.txt 2012-11-12 01:37:19.000000000 +0000 +++ lmms-0.4.14~rc1/CMakeLists.txt 2012-12-10 20:13:56.000000000 +0000 @@ -15,8 +15,8 @@ SET(VERSION_MAJOR "0") SET(VERSION_MINOR "4") -SET(VERSION_PATCH "13") -#SET(VERSION_SUFFIX "") +SET(VERSION_PATCH "14") +SET(VERSION_SUFFIX "rc1") SET(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}") IF(VERSION_SUFFIX) SET(VERSION "${VERSION}-${VERSION_SUFFIX}") diff -Nru lmms-0.4.13-stable.git.2254/ChangeLog.old lmms-0.4.14~rc1/ChangeLog.old --- lmms-0.4.13-stable.git.2254/ChangeLog.old 2012-11-12 01:37:19.000000000 +0000 +++ lmms-0.4.14~rc1/ChangeLog.old 1970-01-01 00:00:00.000000000 +0000 @@ -1,17866 +0,0 @@ -2009-02-23 Tobias Doerffel - - * README: - * CMakeLists.txt: - made 0.4.3 release - - * include/atomic_int.h: - - fixed typo - - added copy constructor implementation for AtomicInt class - fixes - build failure with Qt < 4.4.0 - - * CMakeLists.txt: - fixed typos - - * cmake/modules/FindSTK.cmake: - * CMakeLists.txt: - reflect changes in MinGW crosscompiling environment - -2009-02-19 Tobias Doerffel - - * include/fade_button.h: - * src/gui/widgets/fade_button.cpp: - rewrote timing of fading animation for not postponing updates of - hidden fadeButton until it becomes visible - - * src/gui/widgets/automatable_button.cpp: - * src/core/track.cpp: - make sure all buttons in trackOperationsWidget have focus-policy - set to Qt::NoFocus in order to make space play song even if you clicked - e.g. a mute-button (closes #2486211) - - * include/note.h: - * src/core/note.cpp: - - coding style fixes - - improved handling of shared detuningHelper object - - * include/instrument_track.h: - * include/piano_roll.h: - * src/gui/piano_roll.cpp: - * src/gui/song_editor.cpp: - * src/tracks/instrument_track.cpp: - fixed various bugs regarding recording: - - once recording has been started, stop it as soon as playMode of song - changes or similiar things happen (closes #2486341) - - fixed broken record-accompany in most use-cases other than using - record-while-playing-song by also tracking NoteOn events and remember - current play position to use the correct note postitions on NoteOff - events (play position might have wrapped around in the meantime due - to looppoints or end of BB track) (closes #2486299, #2486203) - - move timeLine marker in Piano Roll and autoscroll when recording while - playing song (closes #2486334) - -2009-02-14 Tobias Doerffel - - * src/3rdparty/samplerate/samplerate.h: - reverted rev 2037 as we have custom changes in this file - -2009-02-13 Tobias Doerffel - - * include/pattern.h: - * src/tracks/pattern.cpp: - - added missing slot declaration for abortFreeze(), fixes lockup when - freezing pattern (closes #2530320) - - update patternView after freezing - - fixed drawing of frozen pattern - - * include/sample_buffer.h: - * src/core/sample_buffer.cpp: - - when resampling whole sampleBuffer, set end_of_input = 1 in - libsamplerate data struct - fixes lots of zero samples at the end - of output buffer (closes #2531452) - - coding style fixes - - removed obsolete save/restore of EOF-property in libsample rate - data struct when resampling successively (always use 0) - - * src/3rdparty/samplerate/src_linear.c: - * src/3rdparty/samplerate/samplerate.h: - * src/3rdparty/samplerate/src_sinc.c: - * src/3rdparty/samplerate/src_zoh.c: - * src/3rdparty/samplerate/samplerate.c: - * CMakeLists.txt: - integrated latest libsamplerate which is both faster and more reliable - - * src/gui/widgets/visualization_widget.cpp: - disable output monitor per default and show click-hint - -2009-02-12 Tobias Doerffel - - * include/group_box.h: - * src/gui/widgets/effect_rack_view.cpp: - backport: manage effectRackView with a QVBoxLayout - - * src/gui/widgets/controller_rack_view.cpp: - * src/gui/widgets/effect_rack_view.cpp: - backport: prevent Horizontal bars from appearing in some cases - - * cmake/modules/Win32Toolchain.cmake: - reflect recent changes to MinGW cross compiling environment - - * plugins/sf2_player/sf2_player.cpp: - update patch after loading settings (closes #2486372) - - * src/gui/piano_roll.cpp: - ensure, cursor is never NULL when painting it in paintEvent() - - * src/core/sample_buffer.cpp: - do not load samples bigger than 100 MB (closes #2458375) - -2009-02-05 Tobias Doerffel - - * plugins/ladspa_effect/caps/dsp/Eq.h: - better workaround for optimizer bug in GCC >= 4.3 - - * plugins/sid/sid_instrument.cpp: - * plugins/flp_import/unrtf.cpp: - * src/core/track.cpp: - added missing header for compilation with GCC 4.4 - - * include/pattern.h: - * src/tracks/pattern.cpp: - cleanups - - * src/core/envelope_and_lfo_parameters.cpp: - - simplified formulas for calculating envelope array resulting in about - 3x performance with traditional FPU code - - loops now can be vectorized by GCC 4.4 - - * include/atomic_int.h: - * include/audio_port.h: - * include/mixer.h: - * src/core/mixer.cpp: - reworked mixer-threads (synchronization, realization of jobqueue etc.) - which results in a much better performance and stability - -2009-02-04 Andrew Kelley - - * src/gui/piano_roll.cpp: - fixed bug: you can use shift+left to move notes past the beginning - -2009-02-01 Andrew Kelley - - * src/core/track.cpp: - integrated pitanga's patch to fix unquantized BB dragging in - song editor. Changed ctrl modifier to alt to be consistent. - -2009-01-25 Paul Giblock - - * src/tracks/bb_track.cpp: - Integrate broken BB-clone bug from pitanga - -2009-01-25 Paul Giblock - - * src/gui/widgets/knob.cpp: - Fix infinite recursion on Mac OSX - - * plugins/flp_import/unrtf/html.c: - * plugins/flp_import/unrtf/output.h: - * plugins/flp_import/unrtf/convert.c: - Avoid compile warnings - -2008-12-22 Tobias Doerffel - - * CMakeLists.txt: - fixed plugins/ directory when updating localization file - - * plugins/flp_import/flp_import.cpp: - in FL_EffectChannel initialize isMuted member - fixes muted FX channels - when importing older FLP files - -2008-12-19 Tobias Doerffel - - * CMakeLists.txt: - * README: - made 0.4.2 release - - * plugins/vst_base/vst_plugin.h: - * plugins/vst_base/vst_plugin.cpp: - * plugins/vst_effect/vst_effect_control_dialog.cpp: - * plugins/vst_effect/vst_effect.cpp: - * plugins/vestige/vestige.cpp: - fixed crash when adding VST effects - - * include/project_version.h: - * src/core/project_version.cpp: - fixed broken version comparing which indicated 0.x.y to be less than - 0.x.y-patch - fixes messed up projects when loading files created - with LMMS 0.4.0 - -2008-12-17 Tobias Doerffel - - * CMakeLists.txt: - * README: - made 0.4.1 release - - * cmake/modules/FindSTK.cmake: - * include/combobox_model.h: - * include/combobox.h: - * src/core/config_mgr.cpp: - * data/CMakeLists.txt: - * CMakeLists.txt: - added STK support to win32 version of LMMS - - * data/locale/ja.ts: - * data/locale/ja.qm: - added Japanese localization files by - Keishi Suenaga - - * include/instrument_track.h: - * src/tracks/instrument_track.cpp: - backport: do not create a instrument track window just for calling - dragEnterEvent() - use a static method instead - -2008-12-17 Paul Giblock - - * include/track.h: - * src/core/track.cpp: - backport: cache background per-object instead of per-class - -2008-12-17 Andrew Kelley - - * AUTHORS: - backport: added Andrew Kelley as author - - * src/core/timeline.cpp: - * src/gui/automatable_model_view.cpp: - * src/gui/automation_editor.cpp: - * src/gui/piano_roll.cpp: - * src/gui/widgets/automatable_button.cpp: - * src/gui/widgets/automatable_slider.cpp: - * src/gui/widgets/combobox.cpp: - * src/gui/widgets/fader.cpp: - * src/gui/widgets/knob.cpp: - * src/gui/widgets/lcd_spinbox.cpp: - * src/tracks/sample_track.cpp: - backport: changed modifier detection from mainWindow::isCtrlPressed - etc to Qt framework detection. Fixes a bunch of little glitches and - enables horizontal scroll wheels. - - * include/midi.h: - * include/note.h: - * include/panning.h: - * include/panning_constants.h: - * include/pattern.h: - * include/piano_roll.h: - * src/core/note.cpp: - * src/core/piano.cpp: - * src/tracks/pattern.cpp: - backport: added support for panning editing of notes - -2008-12-14 Tobias Doerffel - - * CMakeLists.txt: - require at least Qt 4.3.0 - -2008-12-11 Tobias Doerffel - - * include/automation_pattern.h: - * src/core/automation_pattern.cpp: - do not disable automation when just editing first point of an - automation pattern (closes #2146230) - - * include/automation_pattern_view.h: - * src/gui/automation_pattern_view.cpp: - splitted view component out of automation_pattern.* - -2008-12-10 Tobias Doerffel - - * plugins/vst_base/communication.h: - * plugins/vst_base/vst_plugin.cpp: - * plugins/vst_base/remote_vst_plugin.cpp: - rewrote wide parts of LVSL backend: - - now supports two threading models which makes LMMS support plugins - like Sytrus, z3ta+ etc. - - on win32 create native widget as parent for plugin's GUI, fixes - warning message when loading KarmaSynth (closes #2276787) - - try more symbol names for entry procedure - - * include/aeffectx.h: - - made "int"s to "const int"s - - added CCONST macro - - * include/remote_plugin.h: - * src/core/remote_plugin.cpp: - added support for debug messages from remote plugin - -2008-12-08 Tobias Doerffel - - * plugins/vst_base/vst_plugin.cpp: - win32-version: fixed crash when using VST plugins without GUI - - * include/effect_chain.h: - export effectChain for properly building FLP import DLL - - * include/song_editor.h: - * src/gui/song_editor.cpp: - fixed recent commit (m_timeLine was not declared as member yet) - -2008-12-07 Andrew Kelley - - * src/gui/song_editor.cpp: - fixed glitch where it would auto-scroll even if it was off in - song-editor - -2008-12-04 Tobias Doerffel - - * plugins/vst_base/remote_vst_plugin.cpp: - explicitely declare updateSampleRate() and updateBufferSize() as virtual - - * src/tracks/instrument_track.cpp: - decreased step-property of volumeModel and panningModel from 1.0 to 0.1 - for allowing smoother transitions when automating etc. - -2008-12-02 Tobias Doerffel - - * data/locale/ja.ts: - * data/locale/ja.qm: - added Japanese localization files by - Keishi Suenaga - -2008-12-01 Tobias Doerffel - - * plugins/triple_oscillator/triple_oscillator.cpp: - per default play sub-octaves of first oscillator in osc 2 and 3 - -2008-11-22 Tobias Doerffel - - * src/core/automatable_model.cpp: - fixed wrong logic in automatableModel::setValue() which led to bugs when - changing linked controls to 0 - - * src/gui/file_browser.cpp: - do not allow to import unhandled file types, e.g. ZynAddSubFX presets if - plugin is not available (closes #2326384) - -2008-11-21 Tobias Doerffel - - * plugins/flp_import/flp_import.h: - * plugins/flp_import/flp_import.cpp: - completely rewrote FLP import filter since it didn't work at all - anymore - it now doesn't create or change any things in LMMS while - importing and instead builds up a complete data structure first - which represents the FL Studio project and then creates an LMMS - project based upon this data structure - - now supports projects from FL Studio 3 to 8 - - more verbose debug output - - import volume, panning, pitch and FX channel for instrument tracks - - import amplification, loop-mode and reverse-mode settings for - AudioFileProcessor - - import FX mixer settings and effects - - import automation data - - import channel- and pattern names - - import volume and panning settings of individual notes - - add notes of instrument layer master to each layer children for at - least having a complete sound - need to replace with real layering - support later - - map more instruments to various LMMS instruments - - fixed calculations of length and position of notes - - fixed importing steps/dots - - fixed scaling factor of various controls (arpeggio time, - envelope sustain and amount, filter cut/res, TripleOsc volumes etc.) - - if three user defined samples were found for TripleOscillator set - first oscillator to oscillator::SawWave - - * plugins/flp_import/unrtf.cpp: - * plugins/flp_import/CMakeLists.txt: - * plugins/flp_import/unrtf/error.h: - * plugins/flp_import/unrtf/output.c: - * plugins/flp_import/unrtf/html.c: - * plugins/flp_import/unrtf/output.h: - * plugins/flp_import/unrtf/malloc.c: - * plugins/flp_import/unrtf/html.h: - * plugins/flp_import/unrtf/attr.c: - * plugins/flp_import/unrtf/parse.c: - * plugins/flp_import/unrtf/word.c: - * plugins/flp_import/unrtf/malloc.h: - * plugins/flp_import/unrtf/util.c: - * plugins/flp_import/unrtf/attr.h: - * plugins/flp_import/unrtf/parse.h: - * plugins/flp_import/unrtf/convert.c: - * plugins/flp_import/unrtf/word.h: - * plugins/flp_import/unrtf/util.h: - * plugins/flp_import/unrtf/hash.c: - * plugins/flp_import/unrtf/convert.h: - * plugins/flp_import/unrtf/defs.h: - * plugins/flp_import/unrtf/hash.h: - * plugins/flp_import/unrtf/main.h: - * plugins/flp_import/unrtf/error.c: - updated to latest version of unrtf and improved string operations - - * src/core/main.cpp: - added support for importing file from commandline - - * include/effect_chain.h: - added method for enabling/disabling FX chain - - * include/file_browser.h: - * src/gui/file_browser.cpp: - enhanced support for importing various file types directly from browser - - * include/pattern.h: - * src/tracks/pattern.cpp: - added method for toggling steps - - * include/fx_mixer.h: - added method for accessing FX channels - - * plugins/midi_import/midi_import.cpp: - check for tempoAutomationPattern being NULL for not crashing when - importing to BB-Editor - - * include/instrument_track.h: - return pointers instead of references to various internal models - - * include/basic_filters.h: - * include/bb_track_container.h: - * include/instrument_track.h: - * include/pattern.h: - * include/track_container.h: - * src/core/instrument_functions.cpp: - * src/tracks/pattern.cpp: - * src/gui/track_container_view.cpp: - coding style fixes - -2008-11-11 Tobias Doerffel - - * src/core/track.cpp: - * src/core/timeline.cpp: - * src/core/piano.cpp: - * src/core/automation_pattern.cpp: - * src/gui/piano_roll.cpp: - * src/gui/fx_mixer_view.cpp: - * src/gui/widgets/track_label_button.cpp: - * src/gui/widgets/visualization_widget.cpp: - * src/gui/widgets/combobox.cpp: - * src/gui/widgets/tab_widget.cpp: - * src/gui/widgets/kmultitabbar.cpp: - * src/gui/widgets/envelope_and_lfo_view.cpp: - * src/gui/widgets/cpuload_widget.cpp: - * src/gui/widgets/fade_button.cpp: - * src/gui/widgets/lcd_spinbox.cpp: - * src/gui/widgets/group_box.cpp: - * src/gui/widgets/fader.cpp: - * src/gui/widgets/effect_rack_view.cpp: - * src/gui/widgets/effect_view.cpp: - * src/gui/automation_editor.cpp: - set OpaquePaintEvent attribute for all widgets where suitable - makes - whole GUI less sluggish :) - -2008-11-04 Tobias Doerffel - - * plugins/sf2_player/sf2_player.cpp: - fixed broken reference sharing - - * include/automatable_model.h: - * src/core/automatable_model.cpp: - fixed loops when adding a controller to a model which is linked to - another model - - * src/core/effect.cpp: - call saveSettings()/loadSettings() on model rather than loading/saving - value directly - fixes lost automation on basic effect controls - -2008-10-30 Tobias Doerffel - - * CMakeLists.txt: - made 0.4.0 release - - * CMakeLists.txt: - - include all necessary DLLs in win64 build - - fix versioning for CPack if no VERSION_SUFFIX is set - - * plugins/sid/sid_instrument.cpp: - * plugins/papu/papu_instrument.cpp: - * include/clipboard.h: - include QtXml/QDomElement rather than Qt/QtXml - fixes compilation on - OS X - -2008-10-29 Tobias Doerffel - - * plugins/ladspa_effect/ladspa_effect.cpp: - limit processing of TAP Reflector to 192 KHz as it otherwise crashes - - * include/timeline.h: - * src/gui/piano_roll.cpp: - fixed autoscroll feature in piano-roll (closes #2204508) - -2008-10-28 Tobias Doerffel - - * CMakeLists.txt: - disabled PortAudio support until a fix for the crash when accepting - setup-dialog is available - -2008-10-27 Tobias Doerffel - - * data/presets/TripleOscillator/SEGuitar.xpf: - * data/presets/TripleOscillator/SBass2.xpf: - * data/presets/TripleOscillator/STrash.xpf: - * data/presets/TripleOscillator/SString.xpf: - * data/presets/TripleOscillator/SBass.xpf: - added some cool presets by Skiessi - - * plugins/ladspa_effect/ladspa_effect.cpp: - added Freeverb to blacklist as it does not work samplerate independent - - * cmake/modules/Win64Toolchain.cmake: - * cmake/modules/DetectMachine.cmake: - * cmake/modules/BuildPlugin.cmake: - * plugins/ladspa_effect/swh/CMakeLists.txt: - * plugins/ladspa_effect/cmt/CMakeLists.txt: - * plugins/ladspa_effect/tap/CMakeLists.txt: - * plugins/ladspa_effect/caps/CMakeLists.txt: - * plugins/ladspa_effect/caps/dsp/windows.h: - * plugins/vst_base/remote_vst_plugin.cpp: - * plugins/vst_base/basename.c: - * plugins/vst_base/CMakeLists.txt: - * plugins/midi_import/portsmf/allegro.h: - * src/core/midi/midi_winmm.cpp: - * src/core/mixer.cpp: - * lmmsconfig.h.in: - * CMakeLists.txt: - various fixes for successfully building LMMS for win64 - -2008-10-25 Tobias Doerffel - - * include/mixer.h: - * src/core/mixer.cpp: - * src/core/project_renderer.cpp: - - initial (not yet enabled) support for binding mixer threads to CPUs to - reduce scheduling overhead and cache misses (gives avg. 10% performance - boost) - - merged mixer-thread with first worker-thread - no more duplicate - code for single- and multicore processing and better scheduling - on multicore systems - - * include/automatable_model.h: - * src/core/automatable_model.cpp: - * src/core/audio/audio_alsa.cpp: - * src/core/audio/audio_oss.cpp: - * src/core/audio/audio_jack.cpp: - * src/core/envelope_and_lfo_parameters.cpp: - * src/core/piano.cpp: - * src/core/controller.cpp: - * src/gui/fx_mixer_view.cpp: - * src/gui/widgets/combobox.cpp: - * src/gui/widgets/envelope_and_lfo_view.cpp: - * src/gui/widgets/knob.cpp: - * src/gui/widgets/instrument_midi_io_view.cpp: - * src/gui/widgets/automatable_slider.cpp: - * src/gui/widgets/lcd_spinbox.cpp: - * src/gui/widgets/fader.cpp: - * src/gui/widgets/automatable_button.cpp: - * src/tracks/automation_track.cpp: - do not inline code for fetching value from controller and thus reduce - header dependencies - - * plugins/vst_effect/CMakeLists.txt: - * plugins/vestige/CMakeLists.txt: - * plugins/vst_base/CMakeLists.txt: - * CMakeLists.txt: - made building the WINE-part of VST Support Layer optional to allow - packaging it in separate package (e.g. on 64 bit platforms) - -2008-10-25 dieEasy - - * data/locale/it.qm: - * data/locale/it.ts: - updated Italian localization - -2008-10-25 Tobias Doerffel - - * data/locale/cs.qm: - * data/locale/pt_br.qm: - * data/locale/es.qm: - * data/locale/fr.qm: - * data/locale/nl.qm: - * data/locale/ir.qm: - * data/locale/en.ts: - * data/locale/cs.ts: - * data/locale/pt_br.ts: - * data/locale/es.ts: - * data/locale/fr.ts: - * data/locale/nl.ts: - * data/locale/ca.qm: - * data/locale/ir.ts: - * data/locale/ru.qm: - * data/locale/sv.qm: - * data/locale/ca.ts: - * data/locale/ru.ts: - * data/locale/sv.ts: - * data/locale/en.qm: - refreshed localization files - - * data/locale/de.ts: - * data/locale/de.qm: - updated German localization file - - * src/gui/lfo_controller_dialog.cpp: - fixed strings - - * include/file_browser.h: - * src/gui/file_browser.cpp: - renamed class "listView" to "fileBrowserTreeWidget" - - * cmake/modules/DetectMachine.cmake: - allow specifying destination directory for libs via CMAKE_INSTALL_LIBDIR - - * src/core/sample_buffer.cpp: - - fixed out-of-boundary array access when reversing samples - - optimized loops for loading samples - -2008-10-21 Tobias Doerffel - - * include/plugin.h: - reverted to rev. 1766 - fixes broken label on LADSPA effects - - * include/knob.h: - * src/gui/widgets/knob.cpp: - track focusOutEvents in order to unhide cursor in certain situations - -2008-10-20 Tobias Doerffel - - * CMakeLists.txt: - made 0.4.0-rc3 release - - * README: - various fixes - - * src/gui/dialogs/about_dialog.ui: - use QTextEdit rather than QPlainTextEdit for Qt 4.3 compatibility - -2008-10-19 Tobias Doerffel - - * plugins/sid/sid_instrument.cpp: - * plugins/ladspa_effect/ladspa_effect.cpp: - * plugins/patman/patman.cpp: - * plugins/lb302/lb302.cpp: - * plugins/organic/organic.cpp: - * plugins/lb303/lb303.cpp: - * plugins/stereo_matrix/stereo_matrix.cpp: - * plugins/bass_booster/bass_booster.cpp: - * plugins/bit_invader/bit_invader.cpp: - * plugins/vst_effect/vst_effect.cpp: - * plugins/vibed/vibed.cpp: - * plugins/triple_oscillator/triple_oscillator.cpp: - * plugins/peak_controller_effect/peak_controller_effect.cpp: - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/stk/mallets/mallets.cpp: - * plugins/stereo_enhancer/stereo_enhancer.cpp: - * plugins/papu/papu_instrument.cpp: - * plugins/sf2_player/sf2_player.cpp: - * plugins/vestige/vestige.cpp: - * plugins/vst_base/vst_base.cpp: - * plugins/ladspa_browser/ladspa_browser.cpp: - * plugins/spectrum_analyzer/spectrum_analyzer.cpp: - * plugins/kicker/kicker.cpp: - * plugins/flp_import/flp_import.cpp: - * plugins/midi_import/midi_import.cpp: - * include/embed.h: - * include/lmms_basics.h: - * include/plugin.h: - * src/gui/embed.cpp: - made STRINGIFY_PLUGIN_NAME from embed.h a generic macro STRINGIFY in - lmms_basics.h - - * include/about_dialog.h: - * src/gui/about_dialog.cpp: - * src/gui/dialogs/about_dialog.ui: - designed-based about dialog - - * src/gui/widgets/rename_dialog.cpp: - initially select whole string so it can be overwritten easily - - * AUTHORS: - moved an item to lmms-extras/AUTHORS - - * plugins/vst_base/vst_plugin.h: - * plugins/vst_base/vst_plugin.cpp: - * plugins/vst_effect/vst_effect_control_dialog.cpp: - improved VST GUI embedding (closes #2167745) - - * src/gui/track_container_view.cpp: - do not call method on deleted trackView but fetch pointer to track - before deleting trackView (fixes crash when removing a track) - -2008-10-18 Tobias Doerffel - - * src/gui/widgets/track_label_button.cpp: - more checks before accessing icon - fixes crash when using ZynAddSubFX - plugin - - * plugins/vst_base/remote_vst_plugin.cpp: - various tweakings - - * src/core/piano.cpp: - check for focusWidget() being NULL before checking inheritance - fixes - crash for example when loading VST plugins - - * src/gui/main_window.cpp: - use "Root directory" rather than "My computer" in non-win32-version - - * cmake/modules/FindAlsa.cmake: - * CMakeLists.txt: - do not create alsaconfig.h - - * plugins/sf2_player/sf2_player.cpp: - do not mess around with global static pointers for a single instance - of patchesDialog - create a local object instead (closes #2139701) - - * include/file_browser.h: - * src/gui/file_browser.cpp: - added filter feature allowing quick file access - - * include/file_browser.h: - * src/gui/main_window.cpp: - * src/gui/file_browser.cpp: - * data/themes/default/computer.png: - * data/themes/default/home.png: - - renamed tab "root" to "My computer" - - on win32 allow browsing drives in "My computer" tab - - improved icons for home and "My computer" browser - - * include/embed.h: - * include/instrument_track.h: - * include/plugin.h: - * include/track_label_button.h: - * src/gui/widgets/track_label_button.cpp: - in instrument tracks draw icon of instrument rather than displaying the - full name of the instrument on track label button - - * src/tracks/instrument_track.cpp: - do not call trackView::dragEnterEvent() if instrument track window - already accepted drag event - fixes dragging of presets and - instruments onto track label button - - * src/core/piano.cpp: - do not reclaim keyboard focus if new focus widget is a QLineEdit - -2008-10-17 Tobias Doerffel - - * include/remote_plugin.h: - * src/core/remote_plugin.cpp: - added helper thread processWatcher which monitors the remote plugin - process - if it terminates unexpectedly, invalidate remotePlugin so - LMMS doesn't lock up - fixes crashes and lockups when using VST - plugins or ZynAddSubFX plugin - -2008-10-16 Tobias Doerffel - - * src/core/piano.cpp: - reclaim keyboard focus if the current focus-widget lives in the same - instrument-track-window as the previously active test piano - this way - running notes are not stopped when modifying a control in the same - instrument-track-window (closes #2139806) - - * include/file_browser.h: - * src/gui/file_browser.cpp: - heavily improved performance when adding items to file browser - tree-widget (closes #2146218) - -2008-10-15 dieEasy - - * data/locale/it.qm: - * data/locale/it.ts: - updated Italian localization - -2008-10-15 Tobias Doerffel - - * data/locale/cs.qm: - * data/locale/cs.ts: - added Czech localization by Ludek Cerny - - * src/core/timeline.cpp: - move position marker lines even if autoscrolling is disabled - - * include/envelope_and_lfo_parameters.h: - * src/core/envelope_and_lfo_parameters.cpp: - reverted to rev. 1479 as the optimizations lately completely screwed - up things... - - * plugins/flp_import/flp_import.cpp: - * include/basic_filters.h: - cleanups - -2008-10-14 Tobias Doerffel - - * tests/README: - * tests/emptyproject.mmp: - first initial "test" - - * src/core/mixer.cpp: - - use ordered memory semantics for atomic int - - more debug output when encountering bad jobqueue items - - * CMakeLists.txt: - improved dependency handling for building manpage - -2008-10-06 Tobias Doerffel - - * include/mmp.h: - * include/cpuload_widget.h: - * include/endian_handling.h: - * include/track.h: - * include/controller_rack_view.h: - * include/mixer.h: - * include/ladspa_manager.h: - * include/instrument_functions.h: - * include/sample_buffer.h: - * include/effect_lib.h: - * include/midi.h: - * include/effect_rack_view.h: - * include/graph.h: - * include/micro_timer.h: - * include/envelope_and_lfo_parameters.h: - * include/piano_roll.h: - * include/volume.h: - * include/midi_time.h: - * include/basic_filters.h: - * include/journalling_object.h: - * include/automation_editor.h: - * include/panning.h: - * include/project_journal.h: - * include/play_handle.h: - * plugins/bit_invader/bit_invader.h: - * plugins/vibed/vibrating_string.h: - * plugins/vibed/nine_button_selector.h: - * plugins/vibed/string_container.h: - * plugins/vst_base/remote_vst_plugin.cpp: - * src/core/base64.cpp: - * src/gui/widgets/side_bar_widget.cpp: - renamed types.h to lmms_basics.h - -2008-10-06 Attila Herman - - * plugins/papu/papu_intrument.cpp: - - renamed from PAPU to FreeBoy - - help added to the knobs - -2008-10-04 Tobias Doerffel - - * plugins/kicker/kicker.cpp: - moved constants out of loop - - * include/types.h: - set global alignment via a #define - - * src/gui/piano_roll.cpp: - - fixed typo - - do not crash when pressing right mouse button while moving a note - with left mouse button - - * src/core/song.cpp: - lock mixer while adjusting lengths of notePlayHandles after tempo change - - * src/gui/file_browser.cpp: - * src/core/note_play_handle.cpp: - * src/core/audio/audio_port.cpp: - coding style fixes - - * include/mixer.h: - * src/core/mixer.cpp: - removed fine-granular locking of various playHandle-vectors, just use - one global big lock for everything now - prevents various - deadlocks (e.g. when previewing samples in file browser) - - * src/gui/automation_editor.cpp: - in erase-mode do not remove values without clicking - - * src/core/envelope_and_lfo_parameters.cpp: - fixed what I broke a few hours ago.. (closes #2146864) - - * src/core/mmp.cpp: - fixed extension for presets - - * plugins/ladspa_effect/ladspa_effect.cpp: - * include/automatable_model.h: - * include/automation_pattern.h: - * src/core/automatable_model.cpp: - * src/core/ladspa_control.cpp: - * src/core/automation_pattern.cpp: - fixed lost automation relations when switching samplerate - - * plugins/lb302/lb302.cpp: - * plugins/lb302/lb302.h: - * plugins/bass_booster/bass_booster.cpp: - * plugins/bass_booster/bass_booster.h: - * plugins/bit_invader/bit_invader.cpp: - * plugins/vst_effect/vst_effect.cpp: - * plugins/peak_controller_effect/peak_controller_effect.cpp: - * plugins/stereo_enhancer/stereo_enhancer.cpp: - * plugins/stereo_enhancer/stereo_enhancer.h: - * plugins/spectrum_analyzer/spectrumanalyzer_control_dialog.cpp: - * plugins/kicker/kicker.cpp: - * include/sweep_oscillator.h: - * include/envelope_and_lfo_parameters.h: - * include/remote_plugin.h: - * include/types.h: - * src/core/midi/midi_client.cpp: - * src/core/journalling_object.cpp: - * src/core/audio/audio_pulseaudio.cpp: - * src/core/envelope_and_lfo_parameters.cpp: - * src/core/instrument_sound_shaping.cpp: - * src/core/effect.cpp: - * src/core/ladspa_control.cpp: - * src/core/peak_controller.cpp: - * src/gui/widgets/visualization_widget.cpp: - * src/gui/widgets/tempo_sync_knob.cpp: - - added missing includes to compile with GCC 4.4 - - optimized various loops for getting tree-vectorized, especially with - upcoming GCC 4.4 - - * CMakeLists.txt: - use -ftree-vectorize per default - everyone compiling LMMS (which - needs Qt >= 4.3.0) will at least have GCC 4.1, anyways only makes - sense when setting C(XX)FLAGS=-march=... - - * include/effect_lib.h: - improved effectLib for not being based on virtual-functions rather than - direct function-inlining via template parameter - -2008-10-02 Tobias Doerffel - - * plugins/lb302/lb302.h: - * plugins/lb303/lb303.h: - removed obsolete supportsParallelizing() method - - * src/tracks/instrument_track.cpp: - fixed volume-scaling for IPH-based but not MIDI-based instruments - - * src/core/envelope_and_lfo_parameters.cpp: - use memset() rather than initializing the buffer in a loop with 0 - - * plugins/ladspa_effect/ladspa_effect.cpp: - fetch pointer to LADSPA port descriptor once outside the inner loops - - improves performance of ladspaEffect::processAudioBuffer() by 400% - - * include/types.h: - faster floating point comparison - - * data/locale/ru.ts: - added updated Russian localization by Alexey Kouznetsov - - * buildtools/bin2res.cpp: - * include/mmp.h: - * include/knob.h: - * include/effect.h: - * include/templates.h: - * include/track.h: - * include/note.h: - * include/automatable_model.h: - * include/import_filter.h: - * include/mixer.h: - * include/combobox_model.h: - * include/ladspa_manager.h: - * include/instrument.h: - * include/sample_buffer.h: - * include/midi.h: - * include/effect_lib.h: - * include/sample_record_handle.h: - * include/shared_object.h: - * include/plugin.h: - * include/note_play_handle.h: - * include/instrument_sound_shaping.h: - * include/oscillator.h: - * include/tempo_sync_knob.h: - * include/midi_time.h: - * include/remote_plugin.h: - * include/basic_filters.h: - * include/journalling_object.h: - * include/types.h: - * include/dummy_effect.h: - * include/automatable_model_view.h: - * include/inline_automation.h: - * include/audio_device.h: - * include/panning.h: - * include/combobox.h: - * include/ladspa_2_lmms.h: - * src/core/preset_preview_play_handle.cpp: - * src/core/note_play_handle.cpp: - * src/core/song.cpp: - * src/core/serializing_object.cpp: - * src/core/bb_track_container.cpp: - * src/core/remote_plugin.cpp: - * src/core/journalling_object.cpp: - * src/core/automatable_model.cpp: - * src/core/audio/audio_alsa.cpp: - * src/core/audio/audio_sdl.cpp: - * src/core/audio/audio_portaudio.cpp: - * src/core/audio/audio_jack.cpp: - * src/core/main.cpp: - * src/core/instrument_sound_shaping.cpp: - * src/core/effect.cpp: - * src/core/instrument_functions.cpp: - * src/core/controller_connection.cpp: - * src/core/track.cpp: - * src/core/engine.cpp: - * src/core/piano.cpp: - * src/core/timeline.cpp: - * src/core/instrument.cpp: - * src/core/surround_area.cpp: - * src/core/sample_buffer.cpp: - * src/core/oscillator.cpp: - * src/core/automation_pattern.cpp: - * src/core/lfo_controller.cpp: - * src/core/sample_record_handle.cpp: - * src/gui/piano_roll.cpp: - * src/gui/plugin_browser.cpp: - * src/gui/main_window.cpp: - * src/gui/song_editor.cpp: - * src/gui/widgets/kmultitabbar.cpp: - * src/gui/widgets/knob.cpp: - * src/gui/widgets/lcd_spinbox.cpp: - * src/gui/automation_editor.cpp: - * src/tracks/sample_track.cpp: - * src/tracks/bb_track.cpp: - * src/tracks/instrument_track.cpp: - * src/tracks/pattern.cpp: - * plugins/ladspa_effect/tap/CMakeLists.txt: - * plugins/audio_file_processor/audio_file_processor.cpp: - fixed a bunch warnings and remarks issued by Intel Compiler - - * include/fx_mixer.h: - * src/core/fx_mixer.cpp: - * src/core/mixer.cpp: - - use one static jobqueue for not getting problems with cached pointers - - check for job being NULL - - improved performance of master mix - - * CMakeLists.txt: - allow overriding compiler flags - -2008-09-30 Tobias Doerffel - - * plugins/sid/sid_instrument.h: - * plugins/sid/sid_instrument.cpp: - * plugins/ladspa_effect/tap/CMakeLists.txt: - * plugins/ladspa_effect/caps/CMakeLists.txt: - * plugins/patman/patman.cpp: - * plugins/patman/patman.h: - * plugins/lb302/lb302.cpp: - * plugins/lb302/lb302.h: - * plugins/organic/organic.cpp: - * plugins/organic/organic.h: - * plugins/lb303/lb303.cpp: - * plugins/lb303/lb303.h: - * plugins/bit_invader/bit_invader.cpp: - * plugins/bit_invader/bit_invader.h: - * plugins/vst_effect/vst_effect.cpp: - * plugins/vibed/vibed.h: - * plugins/vibed/vibed.cpp: - * plugins/triple_oscillator/triple_oscillator.h: - * plugins/triple_oscillator/triple_oscillator.cpp: - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/audio_file_processor/audio_file_processor.h: - * plugins/stk/mallets/mallets.cpp: - * plugins/stk/mallets/mallets.h: - * plugins/papu/papu_instrument.h: - * plugins/papu/papu_instrument.cpp: - * plugins/sf2_player/sf2_player.cpp: - * plugins/sf2_player/sf2_player.h: - * plugins/vestige/vestige.cpp: - * plugins/vestige/vestige.h: - * plugins/kicker/kicker.cpp: - * plugins/kicker/kicker.h: - * include/instrument_play_handle.h: - * include/instrument_track.h: - * include/instrument.h: - * include/sample_record_handle.h: - * include/plugin.h: - * include/note_play_handle.h: - * include/sample_play_handle.h: - * include/remote_plugin.h: - * include/preset_preview_play_handle.h: - * include/play_handle.h: - * src/core/plugin.cpp: - * src/core/preset_preview_play_handle.cpp: - * src/core/note_play_handle.cpp: - * src/core/remote_plugin.cpp: - * src/core/sample_play_handle.cpp: - * src/core/mixer.cpp: - * src/core/instrument.cpp: - * src/core/sample_record_handle.cpp: - * src/tracks/instrument_track.cpp: - removed obsolete instrument-parallelization support as this is handled - much better by worker threads and adds unnecessary complexity - - * cmake/modules/FindPCHSupport.cmake: - * INSTALL: - * CMakeLists.txt: - - removed (buggy) PCH support - - added support for CFLAGS and CXXFLAGS environment variables - -2008-09-29 Tobias Doerffel - - * plugins/sf2_player/sf2_player.cpp: - use notePlayHandle::getMidiVelocty() rather than - notePlayHandle::getVolume() for allowing less bright sounds by - decreasing instrument-track's volume (if soundfont supports it) - - * plugins/sf2_player/sf2_player.h: - * plugins/vestige/vestige.h: - * plugins/vibed/vibed.h: - * include/instrument.h: - * include/note_play_handle.h: - * src/core/note_play_handle.cpp: - * src/tracks/instrument_track.cpp: - - replaced instrument::notePlayHandleBased() with - instrument::isMidiBased() - - renamed bendable() to isBendable() - - if the instrument is MIDI based and instrument-track's volume - is below 100, adjust velocity of MIDI events and scaling factor when - mixing sound - -2008-09-25 Tobias Doerffel - - * plugins/CMakeLists.txt: - moved LiveTool to LMMS-extras - - * plugins/live_tool/live_tool.h: - * plugins/live_tool/live_tool.cpp: - replaced X11-specific parts by platform independent code but still - does not work properly - - * src/gui/piano_roll.cpp: - play preview notes also while playing (closes #2089399) - - * src/gui/widgets/project_notes.cpp: - minor code improvements - -2008-09-24 Tobias Doerffel - - * plugins/ladspa_effect/cmt/src/syndrum.cpp: - * plugins/ladspa_effect/cmt/src/vcf303.cpp: - * plugins/ladspa_effect/cmt/src/canyondelay.cpp: - * plugins/ladspa_effect/cmt/src/lofi.cpp: - * plugins/ladspa_effect/cmt/src/phasemod.cpp: - * plugins/ladspa_effect/cmt/src/analogue.cpp: - * plugins/ladspa_effect/swh/CMakeLists.txt: - * CMakeLists.txt: - properly build on OS X - - * src/core/main.cpp: - do not show splash if environment variable NOSPLASH is set - - * include/audio_portaudio.h: - * src/core/audio/audio_portaudio.cpp: - * src/core/audio/audio_pulseaudio.cpp: - * src/core/sample_buffer.cpp: - * src/core/sample_record_handle.cpp: - * src/tracks/sample_track.cpp: - * plugins/bit_invader/bit_invader.cpp: - * plugins/sid/wave.cc: - * plugins/sid/sid.cc: - * plugins/sid/sid.h: - * plugins/sid/filter.cc: - fixed compiler warnings - - * src/gui/controller_connection_dialog.cpp: - do not crash when opening controller connection dialog and using a - non-sequenced (raw) MIDI-client - - * data/presets/TripleOscillator/SawLead.xpf: - fixed preset name - -2008-09-23 Tobias Doerffel - - * CMakeLists.txt: - made 0.4.0-rc2 release - - * src/gui/song_editor.cpp: - * data/themes/default/playpos_marker.png: - improved appearence of position line - - * src/gui/file_browser.cpp: - if adding play handle failed for some reason, set internal pointer to - it to NULL - - * include/play_handle.h: - made QThread pointer const - - * include/mixer.h: - * src/core/mixer.cpp: - - lock playHandle mutex in mixer::clear() - - moved implementation of mixer::removePlayHandle() from header to - source-file - - only delete play-handle in mixer::removePlayHandle() if it was - found in playHandle vector (fixes crash when previewing a preset - under high load) - -2008-09-22 Tobias Doerffel - - * CMakeLists.txt: - package ZynAddSubFX into win32 build - - * plugins/vst_base/remote_vst_plugin.cpp: - * include/remote_plugin.h: - made remotePluginClient::process() have no return value - - * src/core/main.cpp: - * data/locale/CMakeLists.txt: - install and load Qt translation files on win32 - - * src/core/song.cpp: - fixed file-dialog for choosing export filename - - * src/core/project_renderer.cpp: - start render-thread with normal priority on win32 as otherwise the - whole GUI is almost frozen - - * CMakeLists.txt: - removed -Wstrict-aliasing=2 warning - - * src/core/midi/midi_winmm.cpp: - cleanups - - * include/audio_sdl.h: - * src/core/audio/audio_sdl.cpp: - fixed deadlocks after projectRenderer ran - - * src/core/main.cpp: - set PaintOnScreen property for splash for not taking part of - compositing management - - * include/song_editor.h: - * include/timeline.h: - * src/core/timeline.cpp: - * src/gui/song_editor.cpp: - added a vertical position line - - * src/core/midi/midi_winmm.cpp: - added support for MIDI out in WinMM MIDI client - -2008-09-22 Paul Giblock - - * plugins/midi_import/portsmf/allegro.cpp: - fixed broken SVN on 64bit systems. Who needs these printfs anyways? - - * plugins/lb302/lb302.cpp: - max wave-shape model's max match the new total of wave-shapes. - - * include/peak_controller.h: - * src/core/peak_controller.cpp: - delete controller when effect is destroyed, but not the other way around - -2008-09-21 Tobias Doerffel - - * src/core/plugin.cpp: - always return a dummy model in plugin::getChildModel() for not - crashing if something goes wrong - - * include/controller_connection_dialog.h: - * src/gui/controller_connection_dialog.cpp: - automatically enable auto-detect LED when selecting a MIDI device - - * include/remote_plugin.h: - * src/core/audio/audio_device.cpp: - * src/core/audio/audio_oss.cpp: - * src/core/drumsynth.cpp: - * src/core/main.cpp: - * src/core/mixer.cpp: - * src/core/sample_record_handle.cpp: - * src/core/track_container.cpp: - * src/gui/widgets/lcd_spinbox.cpp: - * plugins/bit_invader/bit_invader.cpp: - * plugins/lb302/lb302.cpp: - * plugins/midi_import/portsmf/allegrosmfwr.cpp: - * plugins/midi_import/portsmf/allegro.cpp: - * plugins/midi_import/midi_import.cpp: - * plugins/papu/gb_apu/Blip_Buffer.cpp: - * plugins/papu/gb_apu/Blip_Synth.h: - * plugins/papu/gb_apu/blargg_source.h: - * plugins/papu/gb_apu/Blip_Buffer.h: - * plugins/sf2_player/sf2_player.cpp: - fixed compiler warnings - - * src/core/midi/midi_alsa_seq.cpp: - fixed subscription of output ports - - * include/group_box.h: - * include/midi.h: - * include/midi_port.h: - * include/instrument_midi_io_view.h: - * src/core/midi/midi_port.cpp: - * src/gui/widgets/instrument_midi_io_view.cpp: - * data/themes/default/midi_in.png: - * data/themes/default/midi_out.png: - refactored MIDI tab in instrumentTrackWindow which now also allows - setting arbitrary fixed velocity and defining a program for MIDI output - - * include/midi_mapper.h: - * src/core/midi/midi_mapper.cpp: - * data/midi-maps/gm.map: - * data/midi-maps/YamahaPSS790.map: - * data/midi-maps/YamahaPSR400.map: - * data/midi-maps/YamahaPSR500.map: - * data/midi-maps/YamahaQY10.map: - * data/midi-maps/README: - removed obsolete/unused support for MIDI maps - - * CMakeLists.txt: - enable all compiler warnings per default - - * include/audio_file_ogg.h: - * include/audio_file_device.h: - * src/gui/export_project_dialog.cpp: - * src/core/audio/audio_file_device.cpp: - * src/core/audio/audio_file_ogg.cpp: - fixed crashes when exporting as OGG and output file can't be created - or OGG encoding settings are wrong - - * src/core/automation_pattern.cpp: - fixed automationPattern::length() for cases where the key of the - last value was the first tick in a new tact - - * plugins/ladspa_effect/cmt/src/delay.cpp: - initialize CMT_PluginDescriptor with correct number of ports - - * plugins/ladspa_effect/cmt/src/freeverb/Components/allpass.h: - * plugins/ladspa_effect/cmt/src/freeverb/Components/comb.h: - * plugins/ladspa_effect/cmt/src/freeverb/Components/denormals.h: - fixed strict aliasing violation - - * plugins/ladspa_effect/cmt/src/analogue.cpp: - initialize members - - * plugins/ladspa_effect/swh/CMakeLists.txt: - * plugins/ladspa_effect/cmt/CMakeLists.txt: - * plugins/ladspa_effect/tap/CMakeLists.txt: - * plugins/ladspa_effect/caps/basics.h: - * plugins/ladspa_effect/CMakeLists.txt: - - build LADSPA-effect plugin after subdirs have been processed, - otherwise LADSPA plugins are linked against Qt4 and so on - - compile with -fno-strict-aliasing, fixes win32 builds of plugins - -2008-09-21 Paul Giblock - - * include/config_mgr.h: - * include/setup_dialog.h: - * src/gui/main_window.cpp: - * src/gui/setup_dialog.cpp: - * src/core/config_mgr.cpp: - Add support for user-configurable backgound artwork - - * src/core/mmp.cpp: - * data/samples/drumsynth/r_b: - * data/samples/drumsynth/r_n_b: - - Fix incorrect replacement for drumsynth/misc - - Replace r&b,r_b with r_n_b - - * src/core/main.cpp: - - Make "could not set realtime priority" sound less like an error - - Actually commit the file - - * plugins/lb302/lb302.cpp: - * plugins/lb302/lb302.h: - * src/core/mmp.cpp: - * data/themes/default/round_square_wave_inactive.png: - * data/themes/default/round_square_wave_active.png: - - Remove useless inverted-saw waveform - - Add Sine, Noise, and Exponential waveforms - - Use buttons instead of a knob - - * plugins/bit_invader/bit_invader.cpp: - * plugins/bit_invader/bit_invader.h: - - Add support for pitch bend - - Move smoothing button to a more noticable location - - Some coding style changes - - * plugins/stk/mallets/mallets.cpp: - * plugins/stk/mallets/mallets.h: - Add support for pitch bend - - * src/tracks/instrument_track.cpp: - * include/instrument_track.h: - - Correctly update instrumentTrackView when changing the instrument plugin - - Add bendable property to hide pitchBend knob for Vibed - - * plugins/vibed/vibed.h: - * include/instrument.h: - * src/tracks/instrument_track.cpp: - Hide pitch bend one vibed instrument - - * src/gui/setup_dialog.cpp: - - Minor layout fix - - Fix incorrect starting directory for STK - - * data/CMakeLists.txt: - * data/backgrounds: - * data/backgrounds/CMakeLists.txt: - * data/backgrounds/lmms_tile.png: - * data/backgrounds/vinnie.png: - - Move llama theme background to backgrounds/ - - Resurrect the old background - - more to come.. - - * data/themes/llama: - * data/themes/llama/background_artwork.png: - - Remove llama theme - -2008-09-20 Paul Giblock - - * plugins/sf2_player/sf2_player.cpp: - Fix bug introduced in the last edit. Reference sharing was not working - at all because the check was performed with a different filename than - the insert - - * plugins/vibed/logo.png: - Add fabi's improved vibed logo - - * CMakeLists.txt: - Fix copy-and-paste error in a message - - * plugins/papu/papu_instrument.cpp: - - Unselect the noise-channel (ch4) by default - - Coding style changes - - * src/core/song.cpp: - Add hard-coded file-extension filters to the import file screen - -2008-09-20 Tobias Doerffel - - * src/core/config_mgr.cpp: - set default path if a path only contains of a dir-separator - - * data/presets/CMakeLists.txt: - fixed extension of presets - - * plugins/ladspa_effect/cmt/doc/bugs.html: - * plugins/ladspa_effect/cmt/doc/plugins.html: - * plugins/ladspa_effect/cmt/doc/installation.html: - * plugins/ladspa_effect/cmt/doc/license.html: - * plugins/ladspa_effect/cmt/doc/tasks.html: - * plugins/ladspa_effect/cmt/doc/COPYING: - * plugins/ladspa_effect/cmt/doc/overview.html: - * plugins/ladspa_effect/cmt/doc/index.html: - * plugins/ladspa_effect/cmt/doc/adding_plugins.html: - * plugins/ladspa_effect/cmt/doc/changes.html: - * plugins/ladspa_effect/cmt/src/sine.cpp: - * plugins/ladspa_effect/cmt/src/delay.cpp: - * plugins/ladspa_effect/cmt/src/syndrum.cpp: - * plugins/ladspa_effect/cmt/src/vcf303.cpp: - * plugins/ladspa_effect/cmt/src/utils.h: - * plugins/ladspa_effect/cmt/src/wshape_sine.cpp: - * plugins/ladspa_effect/cmt/src/canyondelay.cpp: - * plugins/ladspa_effect/cmt/src/noise.cpp: - * plugins/ladspa_effect/cmt/src/amp.cpp: - * plugins/ladspa_effect/cmt/src/disintegrator.cpp: - * plugins/ladspa_effect/cmt/src/run_adding.h: - * plugins/ladspa_effect/cmt/src/hardgate.cpp: - * plugins/ladspa_effect/cmt/src/cmt.cpp: - * plugins/ladspa_effect/cmt/src/mixer.cpp: - * plugins/ladspa_effect/cmt/src/filter.cpp: - * plugins/ladspa_effect/cmt/src/lofi.cpp: - * plugins/ladspa_effect/cmt/src/am.cpp: - * plugins/ladspa_effect/cmt/src/phasemod.cpp: - * plugins/ladspa_effect/cmt/src/grain.cpp: - * plugins/ladspa_effect/cmt/src/pink.cpp: - * plugins/ladspa_effect/cmt/src/init.cpp: - * plugins/ladspa_effect/cmt/src/ambisonic.cpp: - * plugins/ladspa_effect/cmt/src/pinknoise.h: - * plugins/ladspa_effect/cmt/src/organ.cpp: - * plugins/ladspa_effect/cmt/src/null.cpp: - * plugins/ladspa_effect/cmt/src/logistic.cpp: - * plugins/ladspa_effect/cmt/src/descriptor.cpp: - * plugins/ladspa_effect/cmt/src/freeverb/freeverb.cpp: - * plugins/ladspa_effect/cmt/src/freeverb/Components/allpass.cpp: - * plugins/ladspa_effect/cmt/src/freeverb/Components/comb.cpp: - * plugins/ladspa_effect/cmt/src/freeverb/Components/revmodel.h: - * plugins/ladspa_effect/cmt/src/freeverb/Components/allpass.h: - * plugins/ladspa_effect/cmt/src/freeverb/Components/comb.h: - * plugins/ladspa_effect/cmt/src/freeverb/Components/tuning.h: - * plugins/ladspa_effect/cmt/src/freeverb/Components/denormals.h: - * plugins/ladspa_effect/cmt/src/freeverb/Components/revmodel.cpp: - * plugins/ladspa_effect/cmt/src/freeverb/readme.txt: - * plugins/ladspa_effect/cmt/src/peak.cpp: - * plugins/ladspa_effect/cmt/src/pink_full.cpp: - * plugins/ladspa_effect/cmt/src/dynamic.cpp: - * plugins/ladspa_effect/cmt/src/cmt.h: - * plugins/ladspa_effect/cmt/src/pink_sh.cpp: - * plugins/ladspa_effect/cmt/src/analogue.cpp: - * plugins/ladspa_effect/cmt/src/sledgehammer.cpp: - * plugins/ladspa_effect/cmt/src/ladspa_types.h: - * plugins/ladspa_effect/cmt/CMakeLists.txt: - * plugins/ladspa_effect/CMakeLists.txt: - * CMakeLists.txt: - added CMT LADSPA plugins - should be enough then :) - - * plugins/ladspa_effect/swh/ladspa-util.h: - * plugins/ladspa_effect/swh/phasers_1217.c: - * plugins/ladspa_effect/swh/vynil_1905.c: - * plugins/ladspa_effect/swh/mbeq_1197.c: - * plugins/ladspa_effect/swh/fast_lookahead_limiter_1913.c: - * plugins/ladspa_effect/swh/flanger_1191.c: - * plugins/ladspa_effect/swh/comb_1190.c: - * plugins/ladspa_effect/swh/dc_remove_1207.c: - * plugins/ladspa_effect/swh/dj_eq_1901.c: - * plugins/ladspa_effect/swh/util/biquad.h: - * plugins/ladspa_effect/swh/CMakeLists.txt: - * plugins/ladspa_effect/swh/AUTHORS: - * plugins/ladspa_effect/swh/COPYING: - * plugins/ladspa_effect/swh/README: - * plugins/ladspa_effect/CMakeLists.txt: - * CMakeLists.txt: - added a selection of nice SWH LADSPA plugins - - * include/piano_roll.h: - * src/gui/piano_roll.cpp: - fixed quantization when moving selected notes (closes #2118371) - - * plugins/sid/envelope.h: - * plugins/sid/extfilt.h: - * plugins/sid/wave.h: - * plugins/sid/voice.h: - * plugins/sid/sid.cc: - * plugins/sid/sid.h: - * plugins/sid/filter.h: - * plugins/sid/sid_instrument.cpp: - renamed class SID to cSID for not conflicting with data structure SID - in win32 headers - - * include/ladspa_base.h: - * src/core/ladspa_control.cpp: - * src/gui/widgets/ladspa_control_view.cpp: - * plugins/ladspa_effect/ladspa_effect.cpp: - renamed FLOAT constant to FLOATING for not conflicting with FLOAT type - in win32 headers - - * include/midi_time.h: - export MIDI class - DLL version of midiImport plugin needs it - -2008-09-19 Tobias Doerffel - - * data/locale/pt_br.qm: - * data/locale/fr.qm: - * data/locale/es.qm: - * data/locale/nl.qm: - * data/locale/ir.qm: - * data/locale/en.ts: - * data/locale/it.qm: - * data/locale/pt_br.ts: - * data/locale/fr.ts: - * data/locale/es.ts: - * data/locale/nl.ts: - * data/locale/ir.ts: - * data/locale/ca.qm: - * data/locale/it.ts: - * data/locale/ru.qm: - * data/locale/de.qm: - * data/locale/sv.qm: - * data/locale/ca.ts: - * data/locale/ru.ts: - * data/locale/de.ts: - * data/locale/sv.ts: - * data/locale/en.qm: - refreshed localizations - - * CMakeLists.txt: - added "finalize-locales" target - - * include/config_mgr.h: - * src/core/config_mgr.cpp: - * src/core/main.cpp: - fixed paths when starting with no configuration file - - * src/core/timeline.cpp: - * src/core/track.cpp: - * data/themes/default/playpos_marker.png: - * data/themes/default/loop_points_on.png: - * data/themes/default/style.css: - * data/themes/default/loop_point_disabled.png: - * data/themes/default/autoscroll_off.png: - * data/themes/default/loop_point.png: - * data/themes/default/autoscroll_on.png: - * data/themes/default/loop_points_off.png: - improved visual appearence of timeline - - * CMakeLists.txt: - improved detection of Qt4 translation directory - -2008-09-18 Tobias Doerffel - - * src/gui/fx_mixer_view.cpp: - fixed tooltip of mute button - - * data/presets/AudioFileProcessor/Fat-Reversed-Kick.xpf: - * data/presets/AudioFileProcessor/orion.xpf: - * data/presets/AudioFileProcessor/Kick-4-your-Subwoofer.xpf: - * data/presets/AudioFileProcessor/Erazor.cs.xml: - * data/presets/AudioFileProcessor/Bass-Mania.xpf: - * data/presets/AudioFileProcessor/Fat-Reversed-Kick.cs.xml: - * data/presets/AudioFileProcessor/Kick-4-your-Subwoofer.cs.xml: - * data/presets/AudioFileProcessor/Bass-Mania.cs.xml: - * data/presets/AudioFileProcessor/Erazor.xpf: - * data/presets/LB302/Oh: - * data/presets/LB302/GoodOldTimes.xpf: - * data/presets/LB302/Oh: - * data/presets/Organic/organ_swish.xpf: - * data/presets/Organic/pad_ethereal.cs.xml: - * data/presets/Organic/organ_swish.cs.xml: - * data/presets/Organic/puresine.xpf: - * data/presets/Organic/default.cs.xml: - * data/presets/Organic/organ_blues.xpf: - * data/presets/Organic/puresine.cs.xml: - * data/presets/Organic/sequencer_64.xpf: - * data/presets/Organic/organ_blues.cs.xml: - * data/presets/Organic/organ_risingsun.xpf: - * data/presets/Organic/pad_sweep.xpf: - * data/presets/Organic/pad_rich.xpf: - * data/presets/Organic/sequencer_64.cs.xml: - * data/presets/Organic/pad_ethereal.xpf: - * data/presets/Organic/pad_sweep.cs.xml: - * data/presets/Organic/organ_risingsun.cs.xml: - * data/presets/Organic/pad_rich.cs.xml: - * data/presets/BitInvader/drama.xpf: - * data/presets/BitInvader/pluck.cs.xml: - * data/presets/BitInvader/bell.cs.xml: - * data/presets/BitInvader/spacefx.xpf: - * data/presets/BitInvader/drama.cs.xml: - * data/presets/BitInvader/default.cs.xml: - * data/presets/BitInvader/cello.xpf: - * data/presets/BitInvader/soft_pad.xpf: - * data/presets/BitInvader/spacefx.cs.xml: - * data/presets/BitInvader/alien_strings.xpf: - * data/presets/BitInvader/toy_piano.xpf: - * data/presets/BitInvader/subbass.xpf: - * data/presets/BitInvader/wah_synth.xpf: - * data/presets/BitInvader/cello.cs.xml: - * data/presets/BitInvader/soft_pad.cs.xml: - * data/presets/BitInvader/sweep_pad.xpf: - * data/presets/BitInvader/beehive.xpf: - * data/presets/BitInvader/toy_piano.cs.xml: - * data/presets/BitInvader/alien_strings.cs.xml: - * data/presets/BitInvader/subbass.cs.xml: - * data/presets/BitInvader/wah_synth.cs.xml: - * data/presets/BitInvader/epiano.xpf: - * data/presets/BitInvader/sweep_pad.cs.xml: - * data/presets/BitInvader/beehive.cs.xml: - * data/presets/BitInvader/bell.xpf: - * data/presets/BitInvader/pluck.xpf: - * data/presets/BitInvader/epiano.cs.xml: - * data/presets/Vibed/SadPad.cs.xml: - * data/presets/Vibed/Harpsichord.xpf: - * data/presets/Vibed/SadPad.xpf: - * data/presets/Vibed/Harpsichord.cs.xml: - * data/presets/TripleOscillator/Short4.xpf: - * data/presets/TripleOscillator/Arpeggio_1.cs.xml: - * data/presets/TripleOscillator/Fat-FMish-Bells.cs.xml: - * data/presets/TripleOscillator/AmazingBubbles.xpf: - * data/presets/TripleOscillator/HiPad.xpf: - * data/presets/TripleOscillator/Whistle.cs.xml: - * data/presets/TripleOscillator/Plucked.xpf: - * data/presets/TripleOscillator/SawLead.cs.xml: - * data/presets/TripleOscillator/Harp-of-a-Fairy.cs.xml: - * data/presets/TripleOscillator/Short4.cs.xml: - * data/presets/TripleOscillator/ArpKing.xpf: - * data/presets/TripleOscillator/Dull-Bell-Arp.xpf: - * data/presets/TripleOscillator/Rough!.cs.xml: - * data/presets/TripleOscillator/Plucked.cs.xml: - * data/presets/TripleOscillator/Harmonium.xpf: - * data/presets/TripleOscillator/E-Organ.cs.xml: - * data/presets/TripleOscillator/Gong.cs.xml: - * data/presets/TripleOscillator/ArpKing.cs.xml: - * data/presets/TripleOscillator/AnalogDreamz.xpf: - * data/presets/TripleOscillator/Harmonium.cs.xml: - * data/presets/TripleOscillator/PowerStrings.xpf: - * data/presets/TripleOscillator/SpaceBass.cs.xml: - * data/presets/TripleOscillator/RaveBass.cs.xml: - * data/presets/TripleOscillator/ResonantPad.xpf: - * data/presets/TripleOscillator/SawLead.xpf: - * data/presets/TripleOscillator/Fat.cs.xml: - * data/presets/TripleOscillator/ResoBass.xpf: - * data/presets/TripleOscillator/LovelyDream.xpf: - * data/presets/TripleOscillator/AnalogTimes2.xpf: - * data/presets/TripleOscillator/RockOrgan.xpf: - * data/presets/TripleOscillator/TB303-Arpeggio.xpf: - * data/presets/TripleOscillator/Xylophon.cs.xml: - * data/presets/TripleOscillator/E-Organ.xpf: - * data/presets/TripleOscillator/Short3.cs.xml: - * data/presets/TripleOscillator/LovelyDream.cs.xml: - * data/presets/TripleOscillator/SoftStrings.cs.xml: - * data/presets/TripleOscillator/DeathBass.xpf: - * data/presets/TripleOscillator/Play-some-rock.xpf: - * data/presets/TripleOscillator/TranceLead.xpf: - * data/presets/TripleOscillator/MoveYourBody.xpf: - * data/presets/TripleOscillator/SpaceBass.xpf: - * data/presets/TripleOscillator/Harpsichord.xpf: - * data/presets/TripleOscillator/Freaky-Bass.xpf: - * data/presets/TripleOscillator/MoveYourBody.cs.xml: - * data/presets/TripleOscillator/PowerStrings.cs.xml: - * data/presets/TripleOscillator/Fat-FMish-Bells.xpf: - * data/presets/TripleOscillator/Arpeggio_1.xpf: - * data/presets/TripleOscillator/Freaky-Bass.cs.xml: - * data/presets/TripleOscillator/Bell.xpf: - * data/presets/TripleOscillator/Arpeggio_2.xpf: - * data/presets/TripleOscillator/Xylophon.xpf: - * data/presets/TripleOscillator/Jupiter.xpf: - * data/presets/TripleOscillator/SawReso.xpf: - * data/presets/TripleOscillator/LFO-party.cs.xml: - * data/presets/TripleOscillator/ResonantPad.cs.xml: - * data/presets/TripleOscillator/Rough!.xpf: - * data/presets/TripleOscillator/Distorted-FM-Bass.xpf: - * data/presets/TripleOscillator/Kick.cs.xml: - * data/presets/TripleOscillator/Short2.cs.xml: - * data/presets/TripleOscillator/SawReso.cs.xml: - * data/presets/TripleOscillator/TheFirstOne.xpf: - * data/presets/TripleOscillator/SoftBass.cs.xml: - * data/presets/TripleOscillator/AmazingBubbles.cs.xml: - * data/presets/TripleOscillator/HiPad.cs.xml: - * data/presets/TripleOscillator/TB303-Arpeggio.cs.xml: - * data/presets/TripleOscillator/Distorted-FM-Bass.cs.xml: - * data/presets/TripleOscillator/Analogous.cs.xml: - * data/presets/TripleOscillator/TheMaster.cs.xml: - * data/presets/TripleOscillator/WarmStack.cs.xml: - * data/presets/TripleOscillator/Ravemania.xpf: - * data/presets/TripleOscillator/PluckArpeggio.cs.xml: - * data/presets/TripleOscillator/Square.cs.xml: - * data/presets/TripleOscillator/Play-some-rock.cs.xml: - * data/presets/TripleOscillator/TranceLead.cs.xml: - * data/presets/TripleOscillator/Ravemania.cs.xml: - * data/presets/TripleOscillator/OldComputerGames.xpf: - * data/presets/TripleOscillator/Harpsichord.cs.xml: - * data/presets/TripleOscillator/MoogArpeggio.xpf: - * data/presets/TripleOscillator/Snare.cs.xml: - * data/presets/TripleOscillator/Harp-of-a-Fairy.xpf: - * data/presets/TripleOscillator/FutureBass.xpf: - * data/presets/TripleOscillator/Fat-TB303-Arp.xpf: - * data/presets/TripleOscillator/SoftBass.xpf: - * data/presets/TripleOscillator/Bell.cs.xml: - * data/presets/TripleOscillator/Arpeggio_2.cs.xml: - * data/presets/TripleOscillator/SoftStrings.xpf: - * data/presets/TripleOscillator/MoogArpeggio.cs.xml: - * data/presets/TripleOscillator/Short1.cs.xml: - * data/presets/TripleOscillator/FatCheese.xpf: - * data/presets/TripleOscillator/Analogous.xpf: - * data/presets/TripleOscillator/ResoBass.cs.xml: - * data/presets/TripleOscillator/Jupiter.cs.xml: - * data/presets/TripleOscillator/Fat-TB303-Arp.cs.xml: - * data/presets/TripleOscillator/FutureBass.cs.xml: - * data/presets/TripleOscillator/Gong.xpf: - * data/presets/TripleOscillator/TB303.xpf: - * data/presets/TripleOscillator/RockOrgan.cs.xml: - * data/presets/TripleOscillator/AnalogTimes2.cs.xml: - * data/presets/TripleOscillator/PluckArpeggio.xpf: - * data/presets/TripleOscillator/TheMaster.xpf: - * data/presets/TripleOscillator/WarmStack.xpf: - * data/presets/TripleOscillator/FatCheese.cs.xml: - * data/presets/TripleOscillator/Bell_2.xpf: - * data/presets/TripleOscillator/Square.xpf: - * data/presets/TripleOscillator/TheFirstOne.cs.xml: - * data/presets/TripleOscillator/TB303.cs.xml: - * data/presets/TripleOscillator/AnalogTimes.xpf: - * data/presets/TripleOscillator/Dull-Bell-Arp.cs.xml: - * data/presets/TripleOscillator/ChurchOrgan.xpf: - * data/presets/TripleOscillator/Kick2.xpf: - * data/presets/TripleOscillator/Bell_2.cs.xml: - * data/presets/TripleOscillator/RaveBass.xpf: - * data/presets/TripleOscillator/Snare.xpf: - * data/presets/TripleOscillator/ChurchOrgan.cs.xml: - * data/presets/TripleOscillator/Kick2.cs.xml: - * data/presets/TripleOscillator/AnalogTimes.cs.xml: - * data/presets/TripleOscillator/E-Organ2.xpf: - * data/presets/TripleOscillator/Fat.xpf: - * data/presets/TripleOscillator/AnalogDreamz.cs.xml: - * data/presets/TripleOscillator/LFO-party.xpf: - * data/presets/TripleOscillator/Whistle.xpf: - * data/presets/TripleOscillator/Short1.xpf: - * data/presets/TripleOscillator/OldComputerGames.cs.xml: - * data/presets/TripleOscillator/Kick.xpf: - * data/presets/TripleOscillator/Short2.xpf: - * data/presets/TripleOscillator/Short3.xpf: - * src/gui/main_window.cpp: - * src/gui/file_browser.cpp: - * src/tracks/instrument_track.cpp: - changed preset's extension from "*.cs.xml" to "*.xpf" - - * include/instrument_track.h: - * include/track.h: - * include/track_label_button.h: - * src/core/bb_track_container.cpp: - * src/core/track.cpp: - * src/gui/widgets/track_label_button.cpp: - * src/tracks/automation_track.cpp: - * src/tracks/bb_track.cpp: - * src/tracks/instrument_track.cpp: - * src/tracks/sample_track.cpp: - - when used on instrumentTrack, also show instrument name on - trackLabelButton - - removed obsolete support for choosing custom track icons - - * src/core/mixer.cpp: - when just rendering at console, use DEFAULT_BUFFER_SIZE - - * data/track_icons/harp02.png: - * data/track_icons/harp03.png: - * data/track_icons/cello01.png: - * data/track_icons/guitar_electric01.png: - * data/track_icons/piano01.png: - * data/track_icons/guitar_electric02.png: - * data/track_icons/maracas01.png: - * data/track_icons/guitar_electric03.png: - * data/track_icons/guitar_electric04.png: - * data/track_icons/connectors01.png: - * data/track_icons/drumset01_.png: - * data/track_icons/trombone01.png: - * data/track_icons/CMakeLists.txt: - * data/track_icons/african_drum01.png: - * data/track_icons/french_horn01.png: - * data/track_icons/african_drum02.png: - * data/track_icons/mouth01.png: - * data/track_icons/african_drum03.png: - * data/track_icons/african_drum04.png: - * data/track_icons/african_drum05.png: - * data/track_icons/gramophone01.png: - * data/track_icons/trumpet01.png: - * data/track_icons/violin01.png: - * data/track_icons/trumpet02.png: - * data/track_icons/violin02.png: - * data/track_icons/trumpet03.png: - * data/track_icons/microphone01.png: - * data/track_icons/guitar_bass01.png: - * data/track_icons/trumpet04.png: - * data/track_icons/microphone02.png: - * data/track_icons/microphone03.png: - * data/track_icons/microphone04.png: - * data/track_icons/flute01.png: - * data/track_icons/oboe01.png: - * data/track_icons/xylophone01.png: - * data/track_icons/guitar_accoustic01.png: - * data/track_icons/guitar_accoustic02.png: - * data/track_icons/speaker01.png: - * data/track_icons/harp01.png: - * data/track_icons/guitar_accoustic03.png: - * data/CMakeLists.txt: - finally removed obsolete track icons - -2008-09-17 Tobias Doerffel - - * plugins/sf2_player/sf2_player.cpp: - try to use relative paths for s_fonts map too as otherwise - s_fonts.remove( m_filename ) won't do anything if a full path was - inserted and m_filename was made relative - fixes crash when - re-opening a soundfont which was shared before - - * plugins/midi_import/portsmf/strparse.cpp: - fixed compilation issue - -2008-09-16 Paul Giblock - - * plugins/sf2_player/sf2_player.cpp: - * plugins/sf2_player/sf2_player.h: - * plugins/midi_import/portsmf: - * plugins/midi_import/portsmf/allegrowr.cpp: - * plugins/midi_import/portsmf/trace.cpp: - * plugins/midi_import/portsmf/algsmfrd_internal.h: - * plugins/midi_import/portsmf/trace.h: - * plugins/midi_import/portsmf/strparse.cpp: - * plugins/midi_import/portsmf/allegrosmfwr.cpp: - * plugins/midi_import/portsmf/mfmidi.cpp: - * plugins/midi_import/portsmf/strparse.h: - * plugins/midi_import/portsmf/mfmidi.h: - * plugins/midi_import/portsmf/allegrord.cpp: - * plugins/midi_import/portsmf/license.txt: - * plugins/midi_import/portsmf/allegrosmfrd.cpp: - * plugins/midi_import/portsmf/allegro.cpp: - * plugins/midi_import/portsmf/allegroserial.cpp: - * plugins/midi_import/portsmf/algrd_internal.h: - * plugins/midi_import/portsmf/allegro.h: - * plugins/midi_import/portsmf/README.txt: - * plugins/midi_import/CMakeLists.txt: - * plugins/midi_import/midi_import.cpp: - * include/meter_model.h: - * include/instrument_track.h: - * include/config_mgr.h: - * include/plugin.h: - * include/setup_dialog.h: - * src/gui/setup_dialog.cpp: - * src/core/plugin.cpp: - * src/core/config_mgr.cpp: - - Add Portsmf-based MIDI import to trunk - - Add default-sf2 to settings dialog, but currently only loads when - importing a MIDI - - * src/gui/piano_roll.cpp: - - Add new shortcuts for change Q and note length - - Add "Note lock" mode to keep Q equal to note length - -2008-09-16 Tobias Doerffel - - * src/gui/track_container_view.cpp: - * src/core/track.cpp: - disabled undo/redo of track/TCO addition/removal as not mature yet and - causes unnecessary crashes (closes #2014439, #2100407) - - * data/projects/cool_songs/Skiessi-TurningPoint.mmpz: - * data/projects/cool_songs/Skiessi-RandomProjectNumber14253.mmpz: - added two cool projects from Skiessi - more to come - - * src/core/track.cpp: - * src/core/automation_pattern.cpp: - - fixed cloning of automation-patterns (closes #2102218) - - allow dropping automation patterns onto existing automation patterns - - * src/core/project_journal.cpp: - improved usage of random number generator (closes #2109211) - - * plugins/ladspa_effect/tap/tap_pinknoise.c: - * plugins/ladspa_effect/caps/interface.cc: - * src/core/drumsynth.cpp: - * src/core/main.cpp: - don't mis-initialize random number generator with default value - - * src/core/journalling_object.cpp: - print name of object which uses ID if another object requests it - - * src/core/automation_pattern.cpp: - make sure we don't return NULL in automationPattern::firstObject() - - * plugins/ladspa_effect/ladspa_effect.cpp: - * include/engine.h: - * include/effect_rack_view.h: - * include/effect_chain.h: - * src/core/effect_chain.cpp: - * src/core/preset_preview_play_handle.cpp: - * src/core/engine.cpp: - * src/gui/widgets/effect_rack_view.cpp: - - do not show messages about missing plugins when previewing - presets (closes #2110203) - - clear effect view before loading settings in effectChain - - * CMakeLists.txt: - improved out-of-tree builds - -2008-09-14 Csaba Hruska - - * src/core/audio/audio_portaudio.cpp: - Bugfix: Fixed segfault when other app uses and blocks the audio device - -2008-09-08 Paul Giblock - - * src/core/timeline.cpp: - Keep loop markers from being in same position - -2008-09-11 Tobias Doerffel - - * include/audio_port.h: - * include/midi.h: - * include/mixer.h: - * include/play_handle.h: - * include/sample_play_handle.h: - * include/track.h: - * src/core/audio/audio_port.cpp: - * src/core/effect_chain.cpp: - * src/core/mixer.cpp: - * src/core/sample_play_handle.cpp: - * src/core/track.cpp: - - ensure correct thread affinity when deleting play handles - fixes - crash when previewing samples and LMMS was linked against Qt 4.3.x - - renamed destroyed()-signals for not conflicting with - QObject::destroyed() in Qt 4.3 - - made effectChain creation in audioPort optional - - fixed various compiler warnings - -2008-09-08 Paul Giblock - - * plugins/papu/gb_abu/Blip_Buffer.cpp: - Fix PAPU for 64bit machines - -2008-09-08 Tobias Doerffel - - * CMakeLists.txt: - made 0.4.0-rc1 release - - * plugins/vst_base/CMakeLists.txt: - * CMakeLists.txt: - - fixed win32-specific build issues - - on Linux install manpage - - * include/gui_templates.h: - * src/core/instrument_sound_shaping.cpp: - * src/gui/widgets/instrument_sound_shaping_view.cpp: - * src/gui/widgets/lcd_spinbox.cpp: - * data/locale/de.qm: - * data/locale/de.ts: - further UI finetuning - - * include/midi_winmm.h: - * src/core/midi/midi_winmm.cpp: - finally made WinMM MIDI driver work properly by fixing internal data - structures - - * buildtools/bin2res.cpp: - * plugins/bit_invader/logo.png: - * plugins/bit_invader/bit_invader.cpp: - * plugins/bit_invader/wavegraph.png: - * plugins/bit_invader/wavegraph3.png: - * plugins/bit_invader/artwork.png: - * plugins/lb302/artwork.png: - * plugins/papu/artwork.png: - * plugins/sf2_player/chorus_off.png: - * plugins/sf2_player/chorus_on.png: - * plugins/sf2_player/logo.png: - * plugins/sf2_player/sf2_player.cpp: - * plugins/sf2_player/fileselect_off.png: - * plugins/sf2_player/fileselect_on.png: - * plugins/sf2_player/reverb_off.png: - * plugins/sf2_player/patches_off.png: - * plugins/sf2_player/patches_on.png: - * plugins/sf2_player/artwork.png: - * plugins/sid/3off.png: - * plugins/sid/8580red.png: - * plugins/sid/trianglered.png: - * plugins/sid/logo.png: - * plugins/sid/bp.png: - * plugins/sid/6581.png: - * plugins/sid/8580.png: - * plugins/sid/syncred.png: - * plugins/sid/hp.png: - * plugins/sid/lp.png: - * plugins/sid/sync.png: - * plugins/sid/noise.png: - * plugins/sid/test.png: - * plugins/sid/pulsered.png: - * plugins/sid/filter.png: - * plugins/sid/sawred.png: - * plugins/sid/3offred.png: - * plugins/sid/pulse.png: - * plugins/sid/artwork.png: - * plugins/sid/saw.png: - * plugins/sid/bpred.png: - * plugins/sid/6581red.png: - * plugins/sid/ring.png: - * plugins/sid/hpred.png: - * plugins/sid/triangle.png: - * plugins/sid/lpred.png: - * plugins/sid/noisered.png: - * plugins/sid/testred.png: - * plugins/sid/filterred.png: - * plugins/sid/ringred.png: - * plugins/spectrum_analyzer/log_x_axis.png: - * plugins/spectrum_analyzer/log_y_axis.png: - * plugins/spectrum_analyzer/background.png: - * plugins/spectrum_analyzer/spectrum_background.png: - * plugins/spectrum_analyzer/spectrum_background_plain.png: - * plugins/vestige/vestige.cpp: - * plugins/vst_base/remote_vst_plugin.cpp: - * data/themes/default/groupbox_led_bg.png: - * include/aeffectx.h: - * include/effect_rack_view.h: - * include/group_box.h: - * include/gui_templates.h: - * src/core/piano.cpp: - * src/gui/fx_mixer_view.cpp: - * src/gui/plugin_browser.cpp: - * src/gui/widgets/effect_rack_view.cpp: - * src/gui/widgets/group_box.cpp: - * src/gui/widgets/instrument_function_views.cpp: - * src/gui/widgets/instrument_midi_io_view.cpp: - * src/gui/widgets/instrument_sound_shaping_view.cpp: - * src/gui/widgets/knob.cpp: - * src/gui/widgets/tab_widget.cpp: - UI finetuning / recompression of some PNG-files - - * src/core/remote_plugin.cpp: - improved destruction - - * src/core/mixer.cpp: - re-enabled WinMM MIDI - - * include/midi_winmm.h: - * src/core/midi/midi_winmm.cpp: - create separate thread for WinMM MIDI - -2008-09-08 Paul Giblock - - * plugins/sid/logo.png: - Un-box the sid logo - - * plugins/papu: - * plugins/papu/Basic_Gb_Apu.cpp: - * plugins/papu/btn_off.png: - * plugins/papu/btn_on.png: - * plugins/papu/papu_instrument.h: - * plugins/papu/logo.png: - * plugins/papu/Basic_Gb_Apu.h: - * plugins/papu/btn_up.png: - * plugins/papu/btn_15.png: - * plugins/papu/btn_7.png: - * plugins/papu/artwork.png: - * plugins/papu/gb_apu: - * plugins/papu/gb_apu/Blip_Buffer.cpp: - * plugins/papu/gb_apu/Gb_Oscs.cpp: - * plugins/papu/gb_apu/Blip_Synth.h: - * plugins/papu/gb_apu/Gb_Apu.h: - * plugins/papu/gb_apu/blargg_source.h: - * plugins/papu/gb_apu/Multi_Buffer.cpp: - * plugins/papu/gb_apu/Blip_Buffer.h: - * plugins/papu/gb_apu/Gb_Oscs.h: - * plugins/papu/gb_apu/boost: - * plugins/papu/gb_apu/boost/config.hpp: - * plugins/papu/gb_apu/boost/cstdint.hpp: - * plugins/papu/gb_apu/boost/static_assert.hpp: - * plugins/papu/gb_apu/Multi_Buffer.h: - * plugins/papu/gb_apu/LGPL.txt: - * plugins/papu/gb_apu/blargg_common.h: - * plugins/papu/gb_apu/Gb_Apu.cpp: - * plugins/papu/btn_down.png: - * plugins/papu/CMakeLists.txt: - * plugins/papu/papu_instrument.cpp: - * plugins/CMakeLists.txt: - - Add Csaba and Attila's GameBoy emulator so it can be tested in RC1 - - Update artwork to something not trademarked. "Freeboy" is just for now - -2008-09-07 Tobias Doerffel - - * plugins/patman/patman.cpp: - * plugins/patman/patman.h: - - apply release of 128 frames - - enable loop mode per default - - * plugins/patman/patman.cpp: - * plugins/patman/patman.h: - * plugins/triple_oscillator/triple_oscillator.h: - * plugins/triple_oscillator/triple_oscillator.cpp: - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/audio_file_processor/audio_file_processor.h: - * plugins/sf2_player/sf2_player.cpp: - * plugins/sf2_player/sf2_player.h: - * plugins/vestige/vestige.cpp: - * plugins/vestige/vestige.h: - * plugins/flp_import/flp_import.cpp: - * plugins/midi_import/midi_import.cpp: - * include/engine.h: - * include/file_browser.h: - * include/preset_preview_play_handle.h: - * include/plugin.h: - * include/remote_plugin.h: - * include/sample_play_handle.h: - * src/core/engine.cpp: - * src/core/plugin.cpp: - * src/core/preset_preview_play_handle.cpp: - * src/gui/file_browser.cpp: - * src/gui/main_window.cpp: - * src/gui/track_container_view.cpp: - - rewrote the way plugins can handle certain filetypes - - rewrote various parts of file-browser to be less redundant and - more stable (closes #2071891) - - * data/themes/default/sample_file.png: - renamed from sound_file.png - - * include/midi.h: - * src/core/midi/midi_client.cpp: - * src/core/midi/midi_port.cpp: - * src/core/midi/midi_alsa_seq.cpp: - fixed MIDI output channel issues (closes #2098722) - - * include/graph.h: - * src/gui/widgets/graph.cpp: - integrated patch by Attila Herman which adds support for colorized - graph and quantized values - - * src/core/config_mgr.cpp: - made default VST path to be inside LMMS working directory - - * src/gui/track_container_view.cpp: - changed size constraint for scrollArea-widget layout - fixes messed up - Song Editor after loading various projects - - * src/gui/main_window.cpp: - set QMdiArea::DontMaximizeSubWindowOnActivation option for not - crashing when loading project while a subwindow is maximized (this - looks like a bug in Qt) (closes #2077774) - - * src/gui/controller_connection_dialog.cpp: - fixed crash when closing controller select dialog and no controller - has been selected (closes #2078357) - - * include/track_container.h: - * src/core/song.cpp: - * src/core/track_container.cpp: - display message if project is empty and user tries to export - it (closes #2091056) - - * src/core/song.cpp: - - fixed freeze after adding BB-tracks (closes #2089337) - - replaced bad cast for calling projectNotes::save/restoreState by - proper C++ construct - - * include/controller_rack_view.h: - * include/fx_mixer_view.h: - * include/main_window.h: - * include/piano_roll.h: - * include/project_notes.h: - * include/track_container.h: - * include/track_container_view.h: - * src/core/song.cpp: - * src/core/track_container.cpp: - * src/gui/fx_mixer_view.cpp: - * src/gui/main_window.cpp: - * src/gui/track_container_view.cpp: - * src/gui/widgets/controller_rack_view.cpp: - * src/tracks/instrument_track.cpp: - properly save and restore position, size, visibility and state of - MDI-subwindows (closes #2072383) - - * src/core/serializing_object.cpp: - fixed hook-mechanism - - * include/song_editor.h: - * src/gui/song_editor.cpp: - * src/gui/fx_mixer_view.cpp: - * src/gui/widgets/visualization_widget.cpp: - * plugins/spectrum_analyzer/spectrumanalyzer_control_dialog.cpp: - moved peridic update-timer from songEditor to mainWindow - - * data/projects/cool_songs/Chris-HorizonRemix.mmp: - added song - -2008-09-06 Tobias Doerffel - - * data/themes/default/background_artwork.png: - added more decent background artwork - - * plugins/ladspa_effect/ladspa_subplugin_features.cpp: - * include/ladspa_base.h: - save LADSPA effect filenames without extension and add correct - one (depending on platform built for) when loading settings - fixes - missing effects when loading songs in Windows which were made in Linux - and vice versa - - * include/audio_pulseaudio.h: - added information about bad latency when using PulseAudio output - - * plugins/vestige/vestige.cpp: - * plugins/vestige/vestige.h: - only use MIDI anymore for controlling VST instruments - - * plugins/lb302/lb302.cpp: - * include/note.h: - * include/instrument_track.h: - * include/midi.h: - * include/note_play_handle.h: - * src/tracks/instrument_track.cpp: - * src/core/preset_preview_play_handle.cpp: - * src/core/note_play_handle.cpp: - * src/core/instrument_functions.cpp: - * src/core/piano.cpp: - - improved the way, MIDI-events are internally sent and handled - - fixed names of various member methods of notePlayHandle class - - full MIDI velocity when pressing key on test piano - - send volume changes of a notePlayHandle as MidiKeyPressure events - - send pitch changes of instrument track as MidiPitchBend events - - added detection for running MIDI notes - - correct calculation of MIDI key - makes remotePlugins respect - base note settings - - * src/core/midi/midi_port.cpp: - * src/core/midi/midi_alsa_seq.cpp: - fixed broken MIDI-output (when masking output events it didn't match - against correct output MIDI channel) - -2008-09-06 Csaba Hruska - - * plugins/sid/sid_instrument.cpp: - Fixed overlapping notes distorsion SID bug. - Some warnings are also had removed. - -2008-09-05 Tobias Doerffel - - * include/lmms_style.h: - * src/gui/lmms_style.cpp: - * src/core/main.cpp: - - moved palette initialization into lmmsStyle class - - added a hack for making titlebar text colors in QMdiSubWindows - common on all platforms - -2008-09-04 Tobias Doerffel - - * plugins/vst_base/vst_plugin.cpp: - hold lock while dumping parameters - - * include/remote_plugin.h: - * lmmsconfig.h.in: - * CMakeLists.txt: - - set common numeric locale to make atof() work properly in Germany - - increased SHM_FIFO_SIZE from 4000 to 64000 for not getting stuck - when exchanging bigger messages (e.g. parameter dumps) - - * plugins/vst_base/vst_plugin.h: - * plugins/vst_base/remote_vst_plugin.cpp: - * plugins/vst_base/communication.h: - * plugins/vst_base/vst_plugin.cpp: - * plugins/vst_base/CMakeLists.txt: - * include/text_float.h: - * include/remote_plugin.h: - * CMakeLists.txt: - made VST support layer work on native win32 - -2008-09-03 Tobias Doerffel - - * plugins/vst_base/communication.h: - * plugins/vst_base/vst_plugin.h: - * plugins/vst_base/vst_plugin.cpp: - * plugins/vst_base/remote_vst_plugin.cpp: - * plugins/vst_base/CMakeLists.txt: - * plugins/vst_effect/vst_effect.h: - * plugins/vst_effect/vst_effect.cpp: - * plugins/vestige/vestige.h: - * plugins/vestige/vestige.cpp: - * include/aeffectx.h: - rewrote VST support layer to use the new remotePlugin-framework - - * include/remote_plugin.h: - * src/core/remote_plugin.cpp: - - added channel splitting mode - - made initial wait optional - - messages now can be constructed and set inline - - * CMakeLists.txt: - added hint about removing CMakeCache.txt when libsndfile is missing - -2008-09-02 Tobias Doerffel - - * cmake/modules/Win32Toolchain.cmake: - added include and library-directory of cross compiling environment - - * include/remote_plugin.h: - use QSystemSemaphore in win32-version as libpthread-w32 does not - support process shared mutexes and semaphores - - * src/core/mixer.cpp: - disabled WinMM MIDI for the time being - -2008-09-02 Paul Giblock - - * src/gui/widgets/graph.cpp: - Display crosshair cursor as a hint to the user - - * src/gui/piano_roll.cpp: - Change Piano-Roll paste behavior. Instead of pasting at 0, paste at the - quantized location of the time-line's position-indicator - - * src/gui/main_window.cpp: - Display waiting cursor when loading project. Really only helps when - loading a large song while another is loaded. Provides feedback before - the loading dialog appears (I guess this is during project close) - - * src/core/automation_pattern.cpp: - Don't connect to the same model more than once - -2008-09-01 Paul Giblock - - * include/track_container.h: - * src/core/song.cpp: - * src/core/track_container.cpp: - * src/core/track.cpp: - Add locking to trackContainer::m_tracks and clean up some const-ness - This should fix most crashes causes by moving/adding TCOs. This also - seems to fix the no-sound bug that I hate so much - - * plugins/bit_invader/logo.png: - * plugins/bit_invader/artwork.png: - Improve BitInvader logo - - * data/lmms.desktop: - * lmms.1: - A more consise description for English - -2008-09-02 Csaba Hruska - - * include/song.h: - * src/core/song.cpp: - * src/gui/song_editor.cpp: - * src/tracks/sample_track.cpp: - added implementation for recordAndPlay button - record button is disabled because it is not handled yet - -2008-08-31 Tobias Doerffel - - * include/remote_plugin.h: - * src/core/remote_plugin.cpp: - * lmmsconfig.h.in: - * CMakeLists.txt: - added shmFifo class which replaces communication via pipes and is - portable as well - -2008-08-29 Tobias Doerffel - - * plugins/sid/sid_instrument.cpp: - * plugins/ladspa_effect/ladspa_effect.cpp: - * plugins/patman/patman.cpp: - * plugins/lb302/lb302.cpp: - * plugins/organic/organic.cpp: - * plugins/stereo_matrix/stereo_matrix.cpp: - * plugins/bass_booster/bass_booster.cpp: - * plugins/bit_invader/bit_invader.cpp: - * plugins/vst_effect/vst_effect.cpp: - * plugins/vibed/vibed.cpp: - * plugins/triple_oscillator/triple_oscillator.cpp: - * plugins/live_tool/live_tool.cpp: - * plugins/peak_controller_effect/peak_controller_effect.cpp: - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/audio_file_processor/audio_file_processor.h: - * plugins/stk/mallets/mallets.cpp: - * plugins/stereo_enhancer/stereo_enhancer.cpp: - * plugins/sf2_player/sf2_player.cpp: - * plugins/sf2_player/sf2_player.h: - * plugins/vestige/vestige.cpp: - * plugins/ladspa_browser/ladspa_browser.cpp: - * plugins/spectrum_analyzer/spectrum_analyzer.cpp: - * plugins/kicker/kicker.cpp: - * plugins/flp_import/flp_import.cpp: - * plugins/midi_import/midi_import.cpp: - * include/plugin.h: - * include/instrument_track.h: - * include/instrument.h: - * include/file_browser.h: - * include/preset_preview_play_handle.h: - * src/core/engine.cpp: - * src/core/preset_preview_play_handle.cpp: - * src/gui/file_browser.cpp: - - improved concept for file types supported by certain plugins - - various small improvements for an even better ZynAddSubFX integration - - * src/tracks/instrument_track.cpp: - pass all MIDI events to instrument - - * include/remote_plugin.h: - * src/core/remote_plugin.cpp: - added remotePlugin-framework allowing to easily write plugins which - actually run as external process - -2008-08-28 Tobias Doerffel - - * plugins/vst_base/lvsl_client.cpp: - * plugins/vst_base/lvsl_server.cpp: - * plugins/vst_base/CMakeLists.txt: - fixed broken VST-support - - * CMakeLists.txt: - completed information about packages needed for building VST support - on 64 bit machines (thanks to Stephane Thomas!) - -2008-08-28 Csaba Hruska - - * include/audio_portaudio.h: - * src/core/audio/audio_portaudio.cpp: - fixed segfault in PortAudio's setup widget - fixed hangon on PortAudio exit - -2008-08-27 Csaba Hruska - - * include/audio_portaudio.h: - * src/core/audio/audio_portaudio.cpp: - PortAudio V18 and V19 are supported now - - * cmake/modules/FindPortaudio.cmake: - * include/audio_portaudio.h: - * src/core/audio/audio_portaudio.cpp: - * src/gui/setup_dialog.cpp: - * lmmsconfig.h.in: - * CMakeLists.txt: - added support for PortAudio - - * include/mixer.h: - * include/sample_record_handle.h: - * include/song_editor.h: - * include/sample_track.h: - * include/audio_device.h: - * src/gui/song_editor.cpp: - * src/tracks/sample_track.cpp: - * src/core/audio/audio_device.cpp: - * src/core/mixer.cpp: - * src/core/engine.cpp: - * src/core/sample_record_handle.cpp: - added basic support for recording sound into sample tracks - -2008-08-27 Paul Giblock - - * include/controller_view.h: - * src/gui/widgets/controller_view.cpp: - Add stub for controller help - - * src/gui/piano_roll.cpp: - * data/themes/default/note_triplethalf.png: - * data/themes/default/note_tripleteighth.png: - * data/themes/default/note_tripletthirtysecond.png: - * data/themes/default/note_tripletquarter.png: - * data/themes/default/note_tripletsixteenth.png: - - Add support for directly entering triplet notes - - Add support for triplet Quantization - - Switch grid layout for triplets - - Add additional 32nd note grid resolution when zooming - -2008-08-26 Tobias Doerffel - - * cmake/modules/DetectMachine.cmake: - * plugins/vst_base/CMakeLists.txt: - * lmmsconfig.h.in: - * CMakeLists.txt: - improved detection of machine type - -2008-08-26 Paul Giblock - - * include/controller_connection.h: - * include/controller.h: - * include/controller_rack_view.h: - * include/automatable_model.h: - * include/controller_view.h: - * src/gui/widgets/controller_rack_view.cpp: - * src/gui/widgets/controller_view.cpp: - * src/core/automatable_model.cpp: - * src/core/controller_connection.cpp: - * src/core/controller.cpp: - Add basic support for delete. The controller dialogs probably leak, and - peakController isn't handled yet - -2008-08-24 Tobias Doerffel - - * CMakeLists.txt: - made 0.4.0-beta2 release - -2008-08-24 Paul Giblock - - * plugins/sid/sid_instrument.cpp: - Fix what's this text with extra arg value. - -2008-08-23 Tobias Doerffel - - * cmake/modules/BuildPlugin.cmake: - added missing dependency to bin2res-target in order to build properly - when using "make -jX" - - * CMakeLists.txt: - improved summary page (specific information on what to do if a certain - feature isn't enabled because something was missing) - -2008-08-23 Paul Giblock - - * plugins/bit_invader/bit_invader.cpp: - * plugins/vibed/vibed.cpp: - * plugins/triple_oscillator/triple_oscillator.cpp: - * plugins/audio_file_processor/audio_file_processor.cpp: - * src/gui/piano_roll.cpp: - * src/gui/lfo_controller_dialog.cpp: - * src/gui/main_window.cpp: - * src/gui/song_editor.cpp: - * src/gui/widgets/instrument_sound_shaping_view.cpp: - * src/gui/widgets/envelope_and_lfo_view.cpp: - * src/gui/widgets/instrument_function_views.cpp: - * src/gui/widgets/effect_view.cpp: - * src/gui/automation_editor.cpp: - * src/gui/bb_editor.cpp: - * src/core/envelope_and_lfo_parameters.cpp: - * src/core/mmp.cpp: - Fix English grammer, punctuation, and hard to read strings - -2008-08-23 Tobias Doerffel - - * src/gui/automatable_model_view.cpp: - coding style fixes - - * src/gui/string_pair_drag.cpp: - if no pixmap was given and parent-widget is valid, use a snapshot of - the widget as drag-icon - - * src/tracks/instrument_track.cpp: - added display-name for baseNoteModel - - * src/core/piano.cpp: - made base-note automatable via drag'n'drop - -2008-08-22 Paul Giblock - - * include/automatable_model.h: - * src/gui/automation_editor.cpp: - * src/gui/lmms_style.cpp: - * src/core/lfo_controller.cpp: - Fix various casting warnings - - * src/core/audio/audio_alsa.cpp: - Fix warning about obsolete snd_pcm_sw_params_set_xfer_align(). - ALSA >= 1.0.16 defaults to 1 now. - -2008-08-22 Tobias Doerffel - - * src/core/main.cpp: - fixed splash-screen for win32 - - * src/core/sample_buffer.cpp: - fixed sampleBuffer::tryToMakeRelative() for win32 - paths to samples - are now saved relative in win32-version too (if possible) - - * src/core/piano.cpp: - fixed keycodes for win32 version - - * include/midi_winmm.h: - fixed missing virtual method - - * include/bb_track_container.h: - * include/track.h: - * src/core/track.cpp: - * src/tracks/bb_track.cpp: - implemented correct behaviour when cloning BB-tracks (closes #2042409) - - * src/core/midi/midi_alsa_seq.cpp: - fixed strange ALSA-sequencer behaviour when using MIDI-controllers and - controlling intrument-tracks via MIDI (closes #2062907) - - * src/gui/piano_roll.cpp: - fixed notes appearing multiple times in pattern when recording from - MIDI-device (closes #2058971) - - * src/gui/automation_editor.cpp: - fixed selection of all bars via Ctrl+A (closes #2048163) - - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/audio_file_processor/audio_file_processor.h: - * include/sample_buffer.h: - * src/core/sample_buffer.cpp: - fixed crashes when automating start- and end-point in - AudioFileProcessor (closes #2048125) - - * include/oscillator.h: - made oscillator::userWaveSample() const - - * include/instrument_track.h: - * src/gui/file_browser.cpp: - * src/tracks/instrument_track.cpp: - fixed loading presets when dragging them onto existing - instrument-track-window (finally closes #2025902) - - * src/gui/piano_roll.cpp: - fixed moving selected notes (closes #2039248, #2039254, #2043463) - -2008-08-20 dieEasy - - * data/locale/it.qm: - * data/locale/it.ts: - updated Italian localization-file - -2008-08-20 Tobias Doerffel - - * include/automatable_model.h: - restored old controller-behaviour for all models whose step-size is - not 1, i.e. only round for integer models - - * plugins/sid/sid_instrument.h: - * plugins/sid/test.png: - * plugins/sid/sid_instrument.cpp: - * plugins/sid/testred.png: - integrated patch by Csaba Hruska - - * src/core/plugin.cpp: - fixed messages - - * src/core/config_mgr.cpp: - add trailing slashes to paths where necessary (closes #2056353) - - * data/locale/de.qm: - * data/locale/de.ts: - updated German localization file and fixed various messages - - * include/track.h: - * include/track_label_button.h: - * src/tracks/bb_track.cpp: - update combobox in BB-editor when renaming BB-track (closes #2056354) - - * include/controller.h: - * src/gui/widgets/knob.cpp: - only skip GUI-updates when connected to frequently changing controllers - - * include/automatable_model.h: - when connected to controller and returning current value, respect - step-property of automatableModel - - * src/gui/widgets/instrument_midi_io_view.cpp: - minor UI improvements - - * include/midi_winmm.h: - * include/mixer.h: - * src/core/midi/midi_controller.cpp: - * src/core/midi/midi_port.cpp: - * src/core/midi/midi_winmm.cpp: - * src/core/mixer.cpp: - * src/gui/controller_connection_dialog.cpp: - * src/tracks/instrument_track.cpp: - cleanups and coding-style fixes - - * src/core/midi/midi_alsa_seq.cpp: - * src/core/midi/midi_port.cpp: - - fixed crash when changing mode of midiPort - - various small improvements - - * include/instrument_track.h: - * src/core/note_play_handle.cpp: - made midiPort of instrumentTrack accessible via getMidiPort() - -2008-08-19 Tobias Doerffel - - * plugins/sf2_player/sf2_player.cpp: - fixed reverb/chorus after change of samplerate - - * src/core/main.cpp: - * lmms.1: - improved documentation of commandline options - - * src/core/main.cpp: - * src/core/project_renderer.cpp: - improved progress information when rendering at console - -2008-08-18 Paul Giblock - - * include/controller.h: - * src/core/controller.cpp: - * src/gui/automatable_model_view.cpp: - * src/gui/controller_connection_dialog.cpp: - Detect loops before allowing controller-connection - - * src/core/peak_controller.cpp: - Changes displayName from LFO to Peak - -2008-08-07 Tobias Doerffel - - * CMakeLists.txt: - made 0.4.0-beta1 release - - * plugins/sid/sid_instrument.h: - removed unused slot-definitions - - * CMakeLists.txt: - added missing lmmsconfig.h.in for dist target - -2008-08-05 Tobias Doerffel - - * plugins/sid/wave8580__ST.cc: - * plugins/sid/spline.h: - * plugins/sid/3off.png: - * plugins/sid/8580red.png: - * plugins/sid/trianglered.png: - * plugins/sid/logo.png: - * plugins/sid/bp.png: - * plugins/sid/6581.png: - * plugins/sid/wave.cc: - * plugins/sid/8580.png: - * plugins/sid/pot.h: - * plugins/sid/syncred.png: - * plugins/sid/hp.png: - * plugins/sid/sid_instrument.h: - * plugins/sid/lp.png: - * plugins/sid/sync.png: - * plugins/sid/noise.png: - * plugins/sid/wave8580_PST.cc: - * plugins/sid/envelope.cc: - * plugins/sid/extfilt.cc: - * plugins/sid/envelope.h: - * plugins/sid/extfilt.h: - * plugins/sid/pulsered.png: - * plugins/sid/siddefs.h: - * plugins/sid/filter.png: - * plugins/sid/sawred.png: - * plugins/sid/wave6581_PS_.cc: - * plugins/sid/3offred.png: - * plugins/sid/pulse.png: - * plugins/sid/artwork.png: - * plugins/sid/saw.png: - * plugins/sid/CMakeLists.txt: - * plugins/sid/wave8580_P_T.cc: - * plugins/sid/wave6581__ST.cc: - * plugins/sid/bpred.png: - * plugins/sid/6581red.png: - * plugins/sid/ring.png: - * plugins/sid/hpred.png: - * plugins/sid/pot.cc: - * plugins/sid/sid_instrument.cpp: - * plugins/sid/triangle.png: - * plugins/sid/wave.h: - * plugins/sid/voice.cc: - * plugins/sid/lpred.png: - * plugins/sid/noisered.png: - * plugins/sid/voice.h: - * plugins/sid/wave6581_PST.cc: - * plugins/sid/sid.cc: - * plugins/sid/filterred.png: - * plugins/sid/sid.h: - * plugins/sid/version.cc: - * plugins/sid/filter.cc: - * plugins/sid/filter.h: - * plugins/sid/wave6581_P_T.cc: - * plugins/sid/wave8580_PS_.cc: - * plugins/sid/ringred.png: - * plugins/CMakeLists.txt: - added SID instrument plugin by Attila Herman and Csaba Hruska - - * src/gui/widgets/automatable_button.cpp: - show context-menu of button-group if a button is part of it - - * plugins/sf2_player/sf2_player.cpp: - - query data from correct model when activating reverb (closes #2035134) - - convert from note-play-handle's volume to MIDI-velocity when calling - fluid_synth_noteon() - - set fluidsynth's internal interpolation-method to high-quality when - running LMMS in HQ-mode - -2008-08-04 Tobias Doerffel - - * plugins/ladspa_effect/ladspa_effect.cpp: - * plugins/ladspa_effect/ladspa_subplugin_features.cpp: - * plugins/vst_effect/vst_subplugin_features.cpp: - * plugins/vst_effect/vst_effect.cpp: - * plugins/vst_effect/vst_effect_controls.cpp: - * include/plugin.h: - * include/base64.h: - * include/ladspa_base.h: - * src/core/plugin.cpp: - * src/core/effect_chain.cpp: - * src/core/mmp.cpp: - * src/core/ladspa_manager.cpp: - * CMakeLists.txt: - use XML rather than binary blobs for saving plugin-/effect-key - - * src/core/project_journal.cpp: - use random-number-generator correctly - fixes predictable random - numbers and avoids used Journalling-Object-IDs upon loading - project (closes #2036745) - anyways this still might happen under rare - circumstances and needs a further fix - -2008-08-03 Tobias Doerffel - - * include/lmms_math.h: - * src/core/oscillator.cpp: - made oscillator-phase always being positive which allows further - optimizations of fraction()-method - -2008-08-01 Tobias Doerffel - - * include/visualization_widget.h: - * src/gui/widgets/visualization_widget.cpp: - improved anti-aliased visualization - - * src/core/sample_buffer.cpp: - heavily improved performance by using QPainter::drawPolylines and - disabling anti-aliasing if more than 60000 samples have to be - drawn (closes #1938413) - - * src/core/midi/midi_winmm.cpp: - added debug-code - - * src/core/song.cpp: - do not reset window title twice when creating new project - - * src/core/main.cpp: - when creating a new project, show main-window afterwards - fixes - behaviour when debugging win32-version via WINE - - * cmake/modules/BuildPlugin.cmake: - * plugins/ladspa_effect/tap/CMakeLists.txt: - * plugins/ladspa_effect/caps/CMakeLists.txt: - * data/CMakeLists.txt: - * data/nsis_branding.bmp: - * CMakeLists.txt: - * lmms.rc.in: - - made cmake-files ready for NSIS-packaging - - added win-resource-object to LMMS-binary - - * plugins/sf2_player/patches_dialog.cpp: - * plugins/sf2_player/sf2_player.cpp: - * plugins/sf2_player/patches_dialog.h: - * plugins/sf2_player/sf2_player.h: - * data/themes/default/style.css: - - integrated patch by Csaba Hruska - - fixed spinbox-ranges - - * plugins/vst_base/CMakeLists.txt: - fixed include-directories for lvsl_server-target for allowing - out-of-tree builds - -2008-07-31 Tobias Doerffel - - * CMakeLists.txt: - added win32-pkg target - - * include/fft_helpers.h: - added missing EXPORT-declarations - - * src/core/midi/midi_winmm.cpp: - removed some debugging code - -2008-07-30 Tobias Doerffel - - * include/track.h: - * src/core/track.cpp: - * src/gui/file_browser.cpp: - * src/tracks/instrument_track.cpp: - added simple-serializing mode which makes tracks not save their TCOs - - used for improved save and restore of presets (closes #2025902) - - * src/gui/widgets/effect_view.cpp: - do not cast model to effect for only calling displayName() - - * src/gui/widgets/effect_rack_view.cpp: - - initialize bool-map with correct size - fixes crashes under various - circumstances - - do not cast model of effectView as the effect might not exist - anymore - - * data/presets/TripleOscillator/Steel.cs.xml: - * data/presets/TripleOscillator/SawLead.cs.xml: - * data/presets/TripleOscillator/Bass.cs.xml: - * data/presets/TripleOscillator/E-Organ.cs.xml: - * data/presets/TripleOscillator/FM-Wood-Arp.cs.xml: - * data/presets/TripleOscillator/Harmonium.cs.xml: - * data/presets/TripleOscillator/NostalgicFeelings.cs.xml: - * data/presets/TripleOscillator/Moog.cs.xml: - * data/presets/TripleOscillator/SawLead2.cs.xml: - * data/presets/TripleOscillator/HardClipping.cs.xml: - * data/presets/TripleOscillator/RaveBass.cs.xml: - * data/presets/TripleOscillator/EvilHardcore.cs.xml: - * data/presets/TripleOscillator/Distorted-FM-Bass_2.cs.xml: - * data/presets/TripleOscillator/ShortBass.cs.xml: - * data/presets/TripleOscillator/Crystallo.cs.xml: - * data/presets/TripleOscillator/Fear.cs.xml: - * data/presets/TripleOscillator/HorrorBass.cs.xml: - * data/presets/TripleOscillator/Default.cs.xml: - * data/presets/TripleOscillator/SoftStrings.cs.xml: - * data/presets/TripleOscillator/RaveBass_2.cs.xml: - * data/presets/TripleOscillator/Warmth.cs.xml: - * data/presets/TripleOscillator/Beam.cs.xml: - * data/presets/TripleOscillator/SquareLead2.cs.xml: - * data/presets/TripleOscillator/Weird.cs.xml: - * data/presets/TripleOscillator/LFO-party.cs.xml: - * data/presets/TripleOscillator/Nice.cs.xml: - * data/presets/TripleOscillator/ChurchOrgan_2.cs.xml: - * data/presets/TripleOscillator/SoftBass.cs.xml: - * data/presets/TripleOscillator/Stranger.cs.xml: - * data/presets/TripleOscillator/TB303-Arpeggio.cs.xml: - * data/presets/TripleOscillator/E-Piano.cs.xml: - * data/presets/TripleOscillator/PluckArpeggio.cs.xml: - * data/presets/TripleOscillator/WarmStack.cs.xml: - * data/presets/TripleOscillator/Square.cs.xml: - * data/presets/TripleOscillator/MyComputer.cs.xml: - * data/presets/TripleOscillator/Simple-Acid-Bass.cs.xml: - * data/presets/TripleOscillator/MoogArpeggio.cs.xml: - * data/presets/TripleOscillator/Jupiter.cs.xml: - * data/presets/TripleOscillator/AnalogTimes2.cs.xml: - * data/presets/TripleOscillator/SquareLead.cs.xml: - * data/presets/TripleOscillator/TB303.cs.xml: - * data/presets/TripleOscillator/Detuned-Synced-FM-Bass.cs.xml: - * data/presets/TripleOscillator/ChurchOrgan.cs.xml: - * data/presets/TripleOscillator/SquareArp.cs.xml: - * data/presets/TripleOscillator/OldComputerGames.cs.xml: - removed old raw presets, tuned others and added a few new ones - - * plugins/stk/mallets/mallets.cpp: - detect incomplete Stk-installation in model rather than view for not - crashing when playing without opening the GUI before - - * src/core/main.cpp: - - added --dump parameter for easily uncompressing mmpz-files - - try to set realtime priority after command-line parsing as the - resulting warning might be annoying at this place - - moved initialization of RNG to top of main() - - * src/core/mmp.cpp: - quirks for loading drumsynth-samples whose directory-names have - changed from space to underscore - -2008-07-29 Tobias Doerffel - - * plugins/ladspa_effect/tap/CMakeLists.txt: - * plugins/ladspa_effect/caps/CMakeLists.txt: - fixed linker-flags - - * plugins/spectrum_analyzer/spectrum_analyzer.cpp: - * plugins/spectrum_analyzer/spectrum_analyzer.h: - * include/fft_helpers.h: - * src/core/fft_helpers.cpp: - * lmmsconfig.h.in: - moved FFT-helper functions from Spectrum Analyzer plugin to core to - make it also usable by other plugins - -2008-07-28 Tobias Doerffel - - * plugins/ladspa_effect/ladspa_controls.cpp: - * plugins/lb302/lb302.cpp: - * plugins/lb303/lb303.cpp: - * plugins/stereo_matrix/stereomatrix_controls.cpp: - * plugins/bass_booster/bassbooster_controls.cpp: - * plugins/vst_effect/vst_effect_controls.cpp: - * plugins/vibed/vibed.cpp: - * plugins/triple_oscillator/triple_oscillator.cpp: - * plugins/peak_controller_effect/peak_controller_effect_controls.cpp: - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/stereo_enhancer/stereoenhancer_controls.cpp: - * plugins/sf2_player/sf2_player.cpp: - * plugins/vst_base/lvsl_client.cpp: - * plugins/vst_base/lvsl_client.h: - * plugins/kicker/kicker.cpp: - * plugins/flp_import/flp_import.cpp: - * plugins/midi_import/midi_import.cpp: - * include/mmp.h: - * include/effect.h: - * include/meter_model.h: - * include/automatable_slider.h: - * include/song.h: - * include/pch.h: - * src/gui/main_window.cpp: - * src/gui/song_editor.cpp: - * src/gui/widgets/tempo_sync_knob.cpp: - * src/gui/widgets/meter_dialog.cpp: - * src/tracks/sample_track.cpp: - * src/tracks/bb_track.cpp: - * src/tracks/instrument_track.cpp: - * src/tracks/pattern.cpp: - * src/core/effect_chain.cpp: - * src/core/midi/midi_controller.cpp: - * src/core/midi/midi_port.cpp: - * src/core/track_container.cpp: - * src/core/serializing_object.cpp: - * src/core/journalling_object.cpp: - * src/core/config_mgr.cpp: - * src/core/automatable_model.cpp: - * src/core/instrument_sound_shaping.cpp: - * src/core/mmp.cpp: - * src/core/effect.cpp: - * src/core/instrument_functions.cpp: - * src/core/controller_connection.cpp: - * src/core/note.cpp: - * src/core/timeline.cpp: - * src/core/surround_area.cpp: - * src/core/automation_pattern.cpp: - * src/core/inline_automation.cpp: - * src/core/fx_mixer.cpp: - * src/core/controller.cpp: - * src/core/lfo_controller.cpp: - * src/core/peak_controller.cpp: - reduced header-dependencies - - * src/core/plugin.cpp: - - don't show messagebox if no GUI is running - - if plugin failed to load also tell about the reason - - * plugins/ladspa_effect/tap/CMakeLists.txt: - * plugins/ladspa_effect/caps/CMakeLists.txt: - * src/core/main.cpp: - * cmake/modules/BuildPlugin.cmake: - * lmmsconfig.h.in: - * CMakeLists.txt: - added support for building LMMS on OS X and generating a DMG-package - - * src/core/main.cpp: - win32-compatibility - - * data/projects/cool_songs/StrictProduction-DearJonDoe.mmp: - * data/projects/cool_songs/OrtalDj-FirstProyect.mmp: - * data/projects/cool_songs/TobyDox-Psycho.mmp: - * data/projects/cool_songs/TobyDox-Confused.mmp: - * data/projects/cool_songs/Djeezus-BeatRolls.mmp: - * data/projects/cool_songs/Lokori-Systematic_Chaos.mmp: - * data/projects/cool_songs/StrictProduction-Underline.mmp: - * data/projects/cool_songs/Djeezus-Oscilisous.mmp: - * data/projects/cool_songs/Chris-RaveRiff.mmpz: - * data/projects/cool_songs/TobyDox-TheFourthDimension.mmp: - * data/projects/cool_songs/Mart-Concave_flow.mmp: - * data/projects/cool_songs/MysthR-Living.mmpz: - * data/projects/cool_songs/Marfil-MarfilDrum01.mmp: - * data/projects/cool_songs/j1m-DingDong.mmp: - * data/projects/cool_songs/Malex-Horizon4.mmp: - * data/projects/cool_songs/Siegel-DreamWave.mmp: - * data/projects/cool_songs/BlueWolf-DreamTravel.mmp: - * data/projects/cool_songs/StrictProduction-Lamentelnes.mmp: - * data/projects/cool_songs/OrtalDj-FirstProyect.mmpz: - * data/projects/cool_songs/Silva-ElvesCall.mmp: - upgraded projects to match current file format - diffstat: 17 files changed, 12811 insertions(+), 37791 deletions(-) - - * include/song_editor.h: - * src/core/song.cpp: - make sure all TCOs are shown after loading project (closes #2016741) - - * src/core/automatable_model.cpp: - when loading legacy automation with only one value in, eliminate - global automation pattern right after loading data - - * src/core/main.cpp: - - initialize random-number generation - fixes problems with duplicate - JO-IDs - - show main-window before loading project given on command-line or - creating a new project (closes #2016741) - - * src/core/automation_pattern.cpp: - fixed some segfaults in case of invalid objects in object-vector - - * src/core/mmp.cpp: - - use QTextStream to save uncompressed XML-files - - when encountering problems while parsing XML-file, print line and - column of problem - -2008-07-27 Tobias Doerffel - - * src/gui/automation_editor.cpp: - also allow drawing new dots when clicking inside already existing - value (closes #2026120) - - * include/instrument_track.h: - * src/tracks/instrument_track.cpp: - reverted previous change of some models from floatModel to intModel as - it caused crashes in knob-class - - * include/automation_pattern.h: - * src/core/automation_pattern.cpp: - when connecting object to automation-pattern which has no object - connected yet, set default-value (closes #2026102) - - * plugins/vst_base/CMakeLists.txt: - added missing support for out-of-tree builds - - * README: - * INSTALL: - updated documentation on how to build LMMS with cmake - -2008-07-26 Tobias Doerffel - - * data/locale/en.ts: - * data/locale/pt_br.ts: - * data/locale/es.ts: - * data/locale/fr.ts: - * data/locale/nl.ts: - * data/locale/ir.ts: - * data/locale/it.ts: - * data/locale/ca.ts: - * data/locale/de.ts: - * data/locale/sv.ts: - refreshed localizations - diffstat: 10 files changed, 34785 insertions(+), 6862 deletions(-) - - * data/locale/ru.ts: - added updated Russian localization by Alexey Kouznetsov - - * CMakeLists.txt: - - added locale targets - - added "update-locales" target - - added "distclean" target - - added "tarball" target - - * plugins/organic/organic.cpp: - * plugins/triple_oscillator/triple_oscillator.cpp: - * include/mixer.h: - * include/sample_buffer.h: - * include/oscillator.h: - * include/types.h: - * src/core/sample_play_handle.cpp: - * src/core/sample_buffer.cpp: - * src/core/oscillator.cpp: - * lmmsconfig.h.in: - * CMakeLists.txt: - less header-dependencies and moved some type-definitions - -2008-07-23 Tobias Doerffel - - * data/locale/fr.qm: - * data/locale/fr.ts: - updated French localization-files by Stephane Thomas - - * cmake/modules/FindPkgConfig.cmake: - * include/midi_winmm.h: - * include/midi_alsa_seq.h: - * CMakeLists.txt: - * cmake/modules/BuildPlugin.cmake: - support for cmake < 2.4.8 - - * plugins/ladspa_effect/caps/CMakeLists.txt: - do not compile with -O3 when using GCC 4.1.x as this version segfaults - while optimizing - - * plugins/spectrum_analyzer/spectrum_analyzer.cpp: - * include/effect_lib.h: - fixed compiler-warnings - - * src/core/midi/midi_winmm.cpp: - * src/core/midi/midi_alsa_seq.cpp: - fixed subscribe/unsubscribe-warnings - - * CMakeLists.txt: - fixes for cmake 2.4 - -2008-07-22 Tobias Doerffel - - * cmake/modules/BuildPlugin.cmake: - * plugins/patman/CMakeLists.txt: - * plugins/ladspa_effect/CMakeLists.txt: - * plugins/organic/CMakeLists.txt: - * plugins/lb302/CMakeLists.txt: - * plugins/lb303/CMakeLists.txt: - * plugins/bass_booster/CMakeLists.txt: - * plugins/stereo_matrix/CMakeLists.txt: - * plugins/bit_invader/CMakeLists.txt: - * plugins/vst_effect/CMakeLists.txt: - * plugins/vibed/CMakeLists.txt: - * plugins/triple_oscillator/CMakeLists.txt: - * plugins/live_tool/CMakeLists.txt: - * plugins/peak_controller_effect/CMakeLists.txt: - * plugins/audio_file_processor/CMakeLists.txt: - * plugins/stk/mallets/CMakeLists.txt: - * plugins/stereo_enhancer/CMakeLists.txt: - * plugins/sf2_player/CMakeLists.txt: - * plugins/vestige/CMakeLists.txt: - * plugins/ladspa_browser/CMakeLists.txt: - * plugins/spectrum_analyzer/CMakeLists.txt: - * plugins/kicker/CMakeLists.txt: - * plugins/flp_import/CMakeLists.txt: - * CMakeLists.txt: - various fixes for allowing out-of-tree builds - - * CMakeLists.txt: - - initial support for CPack - - remove old include/lmmsconfig.h from the autotools-era - - * cmake/modules/InstallHelpers.cmake: - fixed INSTALL_DATA_SUBDIRS-macro (use normal string-replace - instead of regex-replace) - - * include/project_renderer.h: - * src/core/project_renderer.cpp: - also compile without OGG/Vorbis-support - - * cmake/modules/Win32Toolchain.cmake: - * cmake/modules/BuildPlugin.cmake: - * src/3rdparty/samplerate/config.h: - * CMakeLists.txt: - fixes for successfully cross-compiling - - * cmake/modules/Win32Toolchain.cmake: - * cmake/modules/BuildPlugin.cmake: - * plugins/ladspa_effect/tap/CMakeLists.txt: - * plugins/ladspa_effect/caps/CMakeLists.txt: - * plugins/vst_effect/CMakeLists.txt: - * include/audio_sdl.h: - * src/core/midi/midi_winmm.cpp: - * build_mingw32: - * CMakeLists.txt: - initial support for mingw-cross-compiling - - * include/midi_alsa_seq.h: - * include/midi_client.h: - * include/midi_port.h: - * include/midi_winmm.h: - * src/core/mixer.cpp: - * src/core/midi/midi_alsa_raw.cpp: - * src/core/midi/midi_alsa_seq.cpp: - * src/core/midi/midi_client.cpp: - * src/core/midi/midi_oss.cpp: - * src/core/midi/midi_winmm.cpp: - * src/gui/setup_dialog.cpp: - added rudimentary WinMM MIDI support - - * src/core/mmp.cpp: - * plugins/lb302/lb302.h - * plugins/CMakeLists.txt: - switched back to LB302 as Paul wants LB303 for 0.4.1 - - * cmake/modules/FindAlsa.cmake: - * cmake/modules/FindOggVorbis.cmake: - * cmake/modules/FindSTK.cmake: - * cmake/modules/FindPCHSupport.cmake: - * cmake/modules/config-alsa.h.cmake: - * cmake/modules/InstallHelpers.cmake: - * cmake/modules/FindPulseAudio.cmake: - * cmake/modules/ChecksForLibSamplerate.cmake: - * cmake/modules/BuildPlugin.cmake: - * plugins/patman/patman.cpp: - * plugins/patman/CMakeLists.txt: - * plugins/ladspa_effect/ladspa_effect.cpp: - * plugins/ladspa_effect/tap/tap_deesser.c: - * plugins/ladspa_effect/tap/tap_sigmoid.c: - * plugins/ladspa_effect/tap/tap_doubler.c: - * plugins/ladspa_effect/tap/ladspa-local.h: - * plugins/ladspa_effect/tap/tap_eqbw.c: - * plugins/ladspa_effect/tap/tap_pinknoise.c: - * plugins/ladspa_effect/tap/tap_chorusflanger.c: - * plugins/ladspa_effect/tap/tap_limiter.c: - * plugins/ladspa_effect/tap/tap_eq.c: - * plugins/ladspa_effect/tap/tap_vibrato.c: - * plugins/ladspa_effect/tap/tap_autopan.c: - * plugins/ladspa_effect/tap/tap_pitch.c: - * plugins/ladspa_effect/tap/tap_dynamics_st.c: - * plugins/ladspa_effect/tap/tap_echo.c: - * plugins/ladspa_effect/tap/tap_tremolo.c: - * plugins/ladspa_effect/tap/tap_tubewarmth.c: - * plugins/ladspa_effect/tap/tap_dynamics_m.c: - * plugins/ladspa_effect/tap/tap_reflector.c: - * plugins/ladspa_effect/tap/tap_reverb.c: - * plugins/ladspa_effect/tap/tap_rotspeak.c: - * plugins/ladspa_effect/tap/CMakeLists.txt: - * plugins/ladspa_effect/ladspa_control_dialog.cpp: - * plugins/ladspa_effect/caps/basics.h: - * plugins/ladspa_effect/caps/CMakeLists.txt: - * plugins/ladspa_effect/ladspa_controls.cpp: - * plugins/ladspa_effect/CMakeLists.txt: - * plugins/organic/organic.cpp: - * plugins/organic/CMakeLists.txt: - * plugins/lb302/lb302.cpp: - * plugins/lb302/CMakeLists.txt: - * plugins/lb303/lb303.cpp: - * plugins/lb303/CMakeLists.txt: - * plugins/bass_booster/bassbooster_controls.cpp: - * plugins/bass_booster/CMakeLists.txt: - * plugins/stereo_matrix/stereomatrix_controls.cpp: - * plugins/stereo_matrix/CMakeLists.txt: - * plugins/bit_invader/bit_invader.cpp: - * plugins/bit_invader/CMakeLists.txt: - * plugins/vst_effect/vst_effect_controls.cpp: - * plugins/vst_effect/CMakeLists.txt: - * plugins/vibed/CMakeLists.txt: - * plugins/vibed/nine_button_selector.cpp: - * plugins/vibed/vibed.cpp: - * plugins/triple_oscillator/CMakeLists.txt: - * plugins/triple_oscillator/triple_oscillator.cpp: - * plugins/live_tool/live_tool.cpp: - * plugins/live_tool/CMakeLists.txt: - * plugins/peak_controller_effect/peak_controller_effect.cpp: - * plugins/peak_controller_effect/peak_controller_effect_controls.cpp: - * plugins/peak_controller_effect/CMakeLists.txt: - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/audio_file_processor/CMakeLists.txt: - * plugins/stk/mallets/mallets.cpp: - * plugins/stk/mallets/CMakeLists.txt: - * plugins/stk/CMakeLists.txt: - * plugins/stereo_enhancer/stereoenhancer_controls.cpp: - * plugins/stereo_enhancer/CMakeLists.txt: - * plugins/sf2_player/patches_dialog.cpp: - * plugins/sf2_player/sf2_player.cpp: - * plugins/sf2_player/CMakeLists.txt: - * plugins/vestige/vestige.cpp: - * plugins/vestige/CMakeLists.txt: - * plugins/vst_base/lvsl_client.cpp: - * plugins/vst_base/CMakeLists.txt: - * plugins/ladspa_browser/ladspa_browser.cpp: - * plugins/ladspa_browser/ladspa_description.cpp: - * plugins/ladspa_browser/ladspa_port_dialog.cpp: - * plugins/ladspa_browser/CMakeLists.txt: - * plugins/spectrum_analyzer/spectrumanalyzer_controls.cpp: - * plugins/spectrum_analyzer/CMakeLists.txt: - * plugins/kicker/kicker.cpp: - * plugins/kicker/CMakeLists.txt: - * plugins/flp_import/CMakeLists.txt: - * plugins/flp_import/unrtf/output.c: - * plugins/flp_import/unrtf/html.c: - * plugins/flp_import/unrtf/malloc.c: - * plugins/flp_import/unrtf/parse.c: - * plugins/flp_import/unrtf/attr.c: - * plugins/flp_import/unrtf/word.c: - * plugins/flp_import/unrtf/util.c: - * plugins/flp_import/unrtf/convert.c: - * plugins/flp_import/unrtf/hash.c: - * plugins/flp_import/unrtf/error.c: - * plugins/midi_import/CMakeLists.txt: - * plugins/CMakeLists.txt: - * Makefile.svn: - * include/midi_dummy.h: - * include/midi_alsa_raw.h: - * include/config_mgr.h: - * include/audio_file_wave.h: - * include/audio_file_ogg.h: - * include/ladspa_manager.h: - * include/ladspa_control.h: - * include/ladspa.h: - * include/midi_oss.h: - * include/pch.h: - * include/sample_buffer.h: - * include/audio_dummy.h: - * include/midi_mapper.h: - * include/audio_pulseaudio.h: - * include/audio_sdl.h: - * include/micro_timer.h: - * include/audio_jack.h: - * include/project_renderer.h: - * include/midi_alsa_seq.h: - * include/ladspa-1.1.h: - * include/setup_dialog.h: - * include/export_project_dialog.h: - * include/midi_client.h: - * include/audio_device.h: - * include/audio_oss.h: - * include/audio_alsa.h: - * src/gui/piano_roll.cpp: - * src/gui/track_container_view.cpp: - * src/gui/plugin_browser.cpp: - * src/gui/controller_dialog.cpp: - * src/gui/automatable_model_view.cpp: - * src/gui/effect_select_dialog.cpp: - * src/gui/effect_control_dialog.cpp: - * src/gui/fx_mixer_view.cpp: - * src/gui/main_window.cpp: - * src/gui/song_editor.cpp: - * src/gui/setup_dialog.cpp: - * src/gui/controller_connection_dialog.cpp: - * src/gui/file_browser.cpp: - * src/gui/widgets/ladspa_control_view.cpp: - * src/gui/widgets/track_label_button.cpp: - * src/gui/widgets/graph.cpp: - * src/gui/widgets/visualization_widget.cpp: - * src/gui/widgets/combobox.cpp: - * src/gui/widgets/tab_widget.cpp: - * src/gui/widgets/midi_port_menu.cpp: - * src/gui/widgets/led_checkbox.cpp: - * src/gui/widgets/side_bar_widget.cpp: - * src/gui/widgets/controller_rack_view.cpp: - * src/gui/widgets/kmultitabbar.cpp: - * src/gui/widgets/caption_menu.cpp: - * src/gui/widgets/instrument_sound_shaping_view.cpp: - * src/gui/widgets/rename_dialog.cpp: - * src/gui/widgets/envelope_and_lfo_view.cpp: - * src/gui/widgets/pixmap_button.cpp: - * src/gui/widgets/knob.cpp: - * src/gui/widgets/instrument_function_views.cpp: - * src/gui/widgets/fade_button.cpp: - * src/gui/widgets/cpuload_widget.cpp: - * src/gui/widgets/tab_bar.cpp: - * src/gui/widgets/automatable_slider.cpp: - * src/gui/widgets/group_box.cpp: - * src/gui/widgets/lcd_spinbox.cpp: - * src/gui/widgets/rubberband.cpp: - * src/gui/widgets/tool_button.cpp: - * src/gui/widgets/controller_view.cpp: - * src/gui/widgets/project_notes.cpp: - * src/gui/widgets/fader.cpp: - * src/gui/widgets/effect_rack_view.cpp: - * src/gui/widgets/effect_view.cpp: - * src/gui/widgets/nstate_button.cpp: - * src/gui/widgets/automatable_button.cpp: - * src/gui/widgets/tempo_sync_knob.cpp: - * src/gui/export_project_dialog.cpp: - * src/gui/automation_editor.cpp: - * src/gui/bb_editor.cpp: - * src/gui/about_dialog.cpp: - * src/tracks/sample_track.cpp: - * src/tracks/bb_track.cpp: - * src/tracks/instrument_track.cpp: - * src/tracks/pattern.cpp: - * src/3rdparty/samplerate/src_sinc.c: - * src/3rdparty/samplerate/config.h: - * src/core/midi/midi_controller.cpp: - * src/core/midi/midi_mapper.cpp: - * src/core/midi/midi_oss.cpp: - * src/core/midi/midi_port.cpp: - * src/core/midi/midi_alsa_seq.cpp: - * src/core/midi/midi_alsa_raw.cpp: - * src/core/song.cpp: - * src/core/track_container.cpp: - * src/core/bb_track_container.cpp: - * src/core/config_mgr.cpp: - * src/core/automatable_model.cpp: - * src/core/audio/audio_alsa.cpp: - * src/core/audio/audio_file_wave.cpp: - * src/core/audio/audio_sdl.cpp: - * src/core/audio/audio_oss.cpp: - * src/core/audio/audio_jack.cpp: - * src/core/audio/audio_pulseaudio.cpp: - * src/core/audio/audio_file_ogg.cpp: - * src/core/envelope_and_lfo_parameters.cpp: - * src/core/main.cpp: - * src/core/mixer.cpp: - * src/core/combobox_model.cpp: - * src/core/instrument_sound_shaping.cpp: - * src/core/project_renderer.cpp: - * src/core/meter_model.cpp: - * src/core/ladspa_manager.cpp: - * src/core/instrument_functions.cpp: - * src/core/controller_connection.cpp: - * src/core/ladspa_control.cpp: - * src/core/track.cpp: - * src/core/piano.cpp: - * src/core/timeline.cpp: - * src/core/surround_area.cpp: - * src/core/sample_buffer.cpp: - * src/core/mv_base.cpp: - * src/core/automation_pattern.cpp: - * src/core/lfo_controller.cpp: - * src/core/controller.cpp: - * src/core/peak_controller.cpp: - * data/locale/CMakeLists.txt: - * data/track_icons/CMakeLists.txt: - * data/samples/CMakeLists.txt: - * data/presets/PluckedStringSynth/Default.cs.xml: - * data/presets/VeSTige/Default.cs.xml: - * data/presets/CMakeLists.txt: - * data/themes/CMakeLists.txt: - * data/projects/CMakeLists.txt: - * data/CMakeLists.txt: - * lmmsconfig.h.in: - * CMakeLists.txt: - migrated build-system to CMAKE - - * plugins/patman/Makefile.am: - * plugins/ladspa_effect/tap/Makefile.am: - * plugins/ladspa_effect/caps/Makefile.am: - * plugins/ladspa_effect/Makefile.am: - * plugins/organic/Makefile.am: - * plugins/lb302/Makefile.am: - * plugins/lb303/Makefile.am: - * plugins/bass_booster/Makefile.am: - * plugins/stereo_matrix/Makefile.am: - * plugins/bit_invader/Makefile.am: - * plugins/vst_effect/Makefile.am: - * plugins/vibed/Makefile.am: - * plugins/triple_oscillator/Makefile.am: - * plugins/live_tool/Makefile.am: - * plugins/peak_controller_effect/Makefile.am: - * plugins/audio_file_processor/Makefile.am: - * plugins/stk/mallets/Makefile.am: - * plugins/stk/Makefile.am: - * plugins/stereo_enhancer/Makefile.am: - * plugins/sf2_player/Makefile.am: - * plugins/vestige/Makefile.am: - * plugins/vst_base/Makefile.am: - * plugins/ladspa_browser/Makefile.am: - * plugins/spectrum_analyzer/Makefile.am: - * plugins/kicker/Makefile.am: - * plugins/Makefile.am: - * plugins/flp_import/Makefile.am: - * plugins/midi_import/Makefile.am: - * data/locale/Makefile.am: - * data/track_icons/Makefile.am: - * data/midi-maps/Makefile.am: - * data/samples/effects/Makefile.am: - * data/samples/stringsnpads/Makefile.am: - * data/samples/basses/Makefile.am: - * data/samples/shapes/Makefile.am: - * data/samples/latin/Makefile.am: - * data/samples/Makefile.am: - * data/samples/bassloopes/Makefile.am: - * data/samples/drums/Makefile.am: - * data/samples/instruments/Makefile.am: - * data/samples/misc/Makefile.am: - * data/samples/drumsynth/effects/Makefile.am: - * data/samples/drumsynth/misc_synth/Makefile.am: - * data/samples/drumsynth/tr606/Makefile.am: - * data/samples/drumsynth/cr78/Makefile.am: - * data/samples/drumsynth/tr808/Makefile.am: - * data/samples/drumsynth/magnetboy/Makefile.am: - * data/samples/drumsynth/tr909/Makefile.am: - * data/samples/drumsynth/misc_fx/Makefile.am: - * data/samples/drumsynth/misc/Makefile.am: - * data/samples/drumsynth/electro/Makefile.am: - * data/samples/drumsynth/ferraro/Makefile.am: - * data/samples/drumsynth/linn/Makefile.am: - * data/samples/drumsynth/r_b/Makefile.am: - * data/samples/drumsynth/tr77/Makefile.am: - * data/samples/drumsynth/misc_bass/Makefile.am: - * data/samples/drumsynth/misc_perc/Makefile.am: - * data/samples/drumsynth/latin/Makefile.am: - * data/samples/drumsynth/instrument/Makefile.am: - * data/samples/drumsynth/misc_electro/Makefile.am: - * data/samples/drumsynth/Makefile.am: - * data/samples/drumsynth/acoustic/Makefile.am: - * data/samples/drumsynth/misc_hats/Makefile.am: - * data/samples/drumsynth/farfisa/Makefile.am: - * data/samples/drumsynth/jorgensohn/Makefile.am: - * data/samples/drumsynth/cr8000/Makefile.am: - * data/samples/drumsynth/misc_claps/Makefile.am: - * data/samples/beats/Makefile.am: - * data/presets/AudioFileProcessor/Makefile.am: - * data/presets/Organic/Makefile.am: - * data/presets/PluckedStringSynth/Makefile.am: - * data/presets/VeSTige/Makefile.am: - * data/presets/BitInvader/Makefile.am: - * data/presets/Makefile.am: - * data/presets/TripleOscillator/Makefile.am: - * data/themes/Makefile.am: - * data/projects/covers/Makefile.am: - * data/projects/recorded_loops/Makefile.am: - * data/projects/cool_songs/Makefile.am: - * data/projects/tutorials/Makefile.am: - * data/projects/demos/Makefile.am: - * data/projects/Makefile.am: - * data/projects/misc/Makefile.am: - * data/projects/templates/Makefile.am: - * data/Makefile.am: - * Makefile.am: - * acinclude.m4: - * configure.in: - removed old autotools-files - -2008-07-18 Tobias Doerffel - - * plugins/ladspa_effect/tap/tap_deesser.c: - * plugins/ladspa_effect/tap/tap_sigmoid.c: - * plugins/ladspa_effect/tap/tap_doubler.c: - * plugins/ladspa_effect/tap/tap_eqbw.c: - * plugins/ladspa_effect/tap/tap_pinknoise.c: - * plugins/ladspa_effect/tap/tap_chorusflanger.c: - * plugins/ladspa_effect/tap/tap_eq.c: - * plugins/ladspa_effect/tap/tap_limiter.c: - * plugins/ladspa_effect/tap/tap_vibrato.c: - * plugins/ladspa_effect/tap/tap_pitch.c: - * plugins/ladspa_effect/tap/tap_autopan.c: - * plugins/ladspa_effect/tap/tap_dynamics_st.c: - * plugins/ladspa_effect/tap/tap_echo.c: - * plugins/ladspa_effect/tap/tap_tremolo.c: - * plugins/ladspa_effect/tap/tap_tubewarmth.c: - * plugins/ladspa_effect/tap/tap_dynamics_m.c: - * plugins/ladspa_effect/tap/tap_reflector.c: - * plugins/ladspa_effect/tap/tap_reverb.c: - * plugins/ladspa_effect/tap/tap_rotspeak.c: - * plugins/ladspa_effect/tap/Makefile.am: - added constructor/destructor-attribute to _init() and _finit()-methods - in order to make those LADSPA-plugins work properly in win32-version - - * src/core/config_mgr.cpp: - * src/core/ladspa_manager.cpp: - * src/gui/setup_dialog.cpp: - separate LADSPA-paths with ',' instead of ':' as win32-paths usually - contain ':'-characters... - - * src/core/ladspa_2_lmms.cpp: - also allow LADSPA-plugins which are not realtime capable - not all of - them work properly but most do and it's better to provide more of them - - * src/gui/widgets/effect_view.cpp: - handled rename of up/down arrow graphics - - * include/ladspa_2_lmms.h: - cleanups - - * src/core/ladspa_manager.cpp: - fixed paths to LADSPA-plugins for win32 - - * src/gui/string_pair_drag.cpp: - at destruction check whether mainWindow is still alive - - * src/core/midi/midi_port.cpp: - range-checking for keys of input-events - - * src/core/song.cpp: - lock mixer while adding BB-track (finally closes #2014486) - - * src/core/bb_track_container.cpp: - * src/core/mv_base.cpp: - * src/gui/automation_editor.cpp: - * src/gui/bb_editor.cpp: - * src/gui/widgets/knob.cpp: - * src/tracks/instrument_track.cpp: - do not create queued signal-slot-connections - - * src/core/audio/audio_sdl.cpp: - changed number of frames per callback which seems to fix distorted sound - - * plugins/lb303/lb303.h: - removed declaration of unimplemented slot - fixes win32-build - - * plugins/ladspa_effect/ladspa_effect.cpp: - * plugins/vibed/vibed.cpp: - * include/controller.h: - * include/lfo_controller.h: - * include/midi_controller.h: - * include/peak_controller.h: - * include/plugin.h: - * src/core/controller.cpp: - * src/core/lfo_controller.cpp: - * src/core/peak_controller.cpp: - * src/core/tool.cpp: - * src/core/midi/midi_controller.cpp: - * src/gui/effect_control_dialog.cpp: - * src/gui/effect_select_dialog.cpp: - * src/gui/main_window.cpp: - * src/gui/plugin_browser.cpp: - * src/gui/widgets/controller_view.cpp: - * src/gui/widgets/effect_view.cpp: - * src/tracks/instrument_track.cpp: - removed publicName-properties in various classes and plugin-descriptor - and use model::displayName instead - - * src/gui/controller_connection_dialog.cpp: - improved GUI-layout - - * include/automation_pattern.h: - * src/core/automation_pattern.cpp: - - removed obsolete variable - - fixed wrong behaviour of automationPattern::valueAt() - - in case there's only one initial value in time-map, set it for all - objects when loading settings - - * src/tracks/instrument_track.cpp: - save actual instrument-settings in separate sub-node for not mixing up - unknown nodes with instruments - - * src/gui/widgets/group_box.cpp: - only toggle LED on left click - - * include/detuning_helper.h: - * include/inline_automation.h: - fixed behaviour for inline-automations with only one value in time-map - - * src/core/mmp.cpp: - - fixed and improved various tag-renaming-loops - - added upgrade path from LB302 to LB303 - - * plugins/bit_invader/bit_invader.cpp: - * plugins/sf2_player/sf2_player.cpp: - * plugins/spectrum_analyzer/spectrum_analyzer.cpp: - fixed compiler warnings - - * plugins/Makefile.am: - removed lb302 from list of plugins to build - - * plugins/midi_import/midi_import.cpp: - improved tempo-automation import - - * include/automatable_model.h: - * include/mv_base.h: - * src/core/automatable_model.cpp: - moved displayName-property from automatableModel to model base-class - - * src/tracks/pattern.cpp: - fixed types - - * src/core/automation_pattern.cpp: - improved behaviour in automationPattern::clear() and - automationPattern::putValue() - - * include/instrument_sound_shaping.h: - * src/core/effect_chain.cpp: - * src/core/instrument_functions.cpp: - * src/core/instrument_sound_shaping.cpp: - * src/core/meter_model.cpp: - * src/core/song.cpp: - * src/core/track.cpp: - * src/core/surround_area.cpp: - * src/gui/widgets/graph.cpp: - * src/tracks/instrument_track.cpp: - added more values for displayName-property - - * include/track_label_button.h: - * src/gui/widgets/track_label_button.cpp: - * src/tracks/automation_track.cpp: - * src/tracks/bb_track.cpp: - * src/tracks/instrument_track.cpp: - * src/tracks/sample_track.cpp: - * Makefile.am: - - moved name_label.* to track_label_button.* - - bigger icons for trackLabelButtons - -2008-07-17 Tobias Doerffel - - * src/tracks/automation_track.cpp: - make sure, hidden automation-tracks are not muted when loading - - * src/core/automatable_model.cpp: - cleanups - - * data/projects/covers/J.S.Bach-Preludium_and_Fugue_A-Minor.mmpz: - fixed tempo-automation - -2008-07-16 Tobias Doerffel - - * src/gui/main_window.cpp: - added minimal width and height when restoring subwindow-states - - * include/bb_track_container.h: - * src/core/bb_track_container.cpp: - * src/core/song.cpp: - added quirk for fixing projects with broken positions of TCOs inside - BB-tracks - - * src/core/automation_pattern.cpp: - update views after resolving IDs for drawing bars with proper range - - * src/tracks/automation_track.cpp: - fixed behaviour of automation-tracks in BB-editor (closes #2014486) - - * include/track.h: - * src/core/track.cpp: - fixed "Cut"-action on TCOs (closes #2016731) - -2008-07-12 Tobias Doerffel - - * src/core/config_mgr.cpp: - * src/core/main.cpp: - do not terminate silently if parsing of configuration file failed - - * src/gui/automation_editor.cpp: - fixed drawing of bars which do not fit within current viewport - - * data/themes/default/factory_files.png: - better icon - - * data/projects/covers/J.S.Bach-Preludium_and_Fugue_A-Minor.mmpz: - upgraded + reverb in master-FX channel - - * Makefile.am: - * include/effect_label.h: - * src/gui/widgets/effect_label.cpp: - removed obsolete files - - * include/automation_track.h: - * include/bb_track.h: - * include/effect_rack_view.h: - * include/instrument_track.h: - * include/name_label.h: - * include/sample_track.h: - * include/track.h: - * src/core/track.cpp: - * src/gui/widgets/group_box.cpp: - * src/gui/widgets/name_label.cpp: - * src/tracks/automation_track.cpp: - * src/tracks/bb_track.cpp: - * src/tracks/instrument_track.cpp: - * src/tracks/sample_track.cpp: - * data/themes/default/style.css: - * data/themes/default/add_automation.png: - * data/themes/default/add_sample_track.png: - * data/themes/default/automation.png: - * data/themes/default/automation_track.png: - * data/themes/default/colorize.png: - * data/themes/default/instrument_track.png: - * data/themes/default/sample_track.png: - * data/themes/default/surround_area.png: - unified track-view appearence and behaviour - -2008-07-11 Tobias Doerffel - - * plugins/sf2_player/Makefile.am: - added missing SOURCES-entry for UI-file - - * src/gui/widgets/combobox.cpp: - better position for text-drawing - - * include/instrument_functions.h: - * include/instrument_function_views.h: - * src/core/instrument_functions.cpp: - * src/gui/widgets/instrument_function_views.cpp: - * data/themes/default/arp_down.png: - * data/themes/default/arp_down_off.png: - * data/themes/default/arp_down_on.png: - * data/themes/default/arp_random.png: - * data/themes/default/arp_random_off.png: - * data/themes/default/arp_random_on.png: - * data/themes/default/arp_up.png: - * data/themes/default/arp_up_off.png: - * data/themes/default/arp_up_on.png: - * data/themes/default/arp_up_and_down.png: - * data/themes/default/arp_up_and_down_off.png: - * data/themes/default/arp_up_and_down_on.png: - use combobox instead of button-group for selecting arpeggio-direction - -2008-07-08 Paul Giblock - - * plugins/lb303: - * plugins/lb303/lb303.cpp: - * plugins/lb303/lb303.h: - * plugins/lb303/artwork.png: - * plugins/lb303/logo.png: - * plugins/lb303/Makefile.am: - * plugins/Makefile.am: - * configure.in: - First version of lb303, NO backward compatability YET - - * src/gui/controller_connection_dialog.cpp: - Fix MIDI AutoDetect - - * src/gui/widgets/knob.cpp: - Fix occationally missing line after instantiation - -2008-07-07 Paul Giblock - - * src/gui/controller_connection_dialog.cpp: - Show name instead of type in connection dialog - - * src/gui/widgets/controller_view.cpp: - Remove bypass - - * plugins/lb302/lb302.cpp: - * plugins/lb302/lb302.h: - - Initial support for pitch-bend, doesn't work during slide. - - Next version will probably be the first lb303 - - Cleanup, fixed dropped-notes - - Fix pitch-bend while sliding - -2008-07-07 Tobias Doerffel - - * configure.in: - made 0.4.0-alpha2 release - - * src/core/mmp.cpp: - added compat-code for loading old presets where content-node is named - "channelsettings" - - * plugins/sf2_player/sf2_player.cpp: - * plugins/sf2_player/sf2_player.h: - added support for pitch-bending - - * include/instrument_track.h: - * include/note_play_handle.h: - * src/core/note_play_handle.cpp: - * src/tracks/instrument_track.cpp: - - additionally provide frequency without pitch-wheel - - added instrumentTrack::midiPitch() - - * include/instrument.h: - * include/instrument_track.h: - * include/midi_controller.h: - * include/midi_event_processor.h: - * include/midi_port.h: - * src/core/note_play_handle.cpp: - * src/core/midi/midi_controller.cpp: - * src/tracks/instrument_track.cpp: - removed buggy and obsolete support for monophonic instruments - -2008-07-06 Paul Giblock - - * plugins/lb302/lb302.cpp: - * plugins/lb302/lb302.h: - New version (and probably last) of new IPH-based lb302 - -2008-07-06 Tobias Doerffel - - * src/gui/widgets/combobox.cpp: - draw text at correct position in win32-version - - * src/core/drumsynth.cpp: - when building for win32 define powf() as pow() due to symbol-conflicts - in win32-libm - - * data/themes/default/style.css: - fixed font-color for what's-this-popups so that they're readable - -2008-07-05 Tobias Doerffel - - * plugins/stk/mallets/mallets.cpp: - protect critical section when creating STK-synths as STK is not - thread-safe (closes #2005888) - - * include/instrument_track.h: - * src/tracks/instrument_track.cpp: - - set hand-cursor for instrument-track-window button - - in instrumentTrack::processInEvent() lock mixer in outer branch - - * include/instrument.h: - added note for scheduled removal of monophonic-property - - * include/note_play_handle.h: - made m_released volatile - - * src/core/note_play_handle.cpp: - - instantly exit noteOff() if already released - - manually unlink references to itself in instrumentTrack (fixes - segfaults in various situations) - - * src/core/envelope_and_lfo_parameters.cpp: - * src/core/instrument_functions.cpp: - * src/core/ladspa_control.cpp: - fixed tempo-sync-models (closes #2010776) - - * src/core/mixer.cpp: - cleanups - - * src/tracks/automation_track.cpp: - made muting automation-tracks work (closes #2010770) - - * src/tracks/bb_track.cpp: - made muting BB-tracks work (closes #2010764) - - * src/gui/widgets/effect_rack_view.cpp: - made removing effect-plugins thread-safe (closes #2010984) - - * src/core/automation_pattern.cpp: - save and restore automationPattern's name (closes #2011011) - - * include/inline_automation.h: - delete automation-pattern is in correct thread (closes #2008232) - -2008-07-04 Tobias Doerffel - - * include/track.h: - made trackContentObject and track implement displayName() in order to - return their name - - * include/effect_label.h: - * src/gui/widgets/effect_label.cpp: - * src/tracks/sample_track.cpp: - do not take _initial_name as it can be retrieved from track - - * src/tracks/sample_track.cpp: - added name to volumeModel - - * data/themes/default/hand.png: - * src/gui/automatable_model_view.cpp: - * src/gui/fx_mixer_view.cpp: - * src/gui/widgets/fade_button.cpp: - * src/gui/widgets/effect_label.cpp: - * src/gui/widgets/name_label.cpp: - * src/core/track.cpp: - added hand-cursor for all controls - - * data/themes/default/style.css: - common font-size for track-labels - -2008-07-02 Tobias Doerffel - - * src/core/main.cpp: - * src/core/song.cpp: - added new commandline option "--upgrade" for upgrading project-files - easily - - * src/core/config_mgr.cpp: - fixed wrong macro-name - fixes unusable Mallets-plugin - -2008-07-01 Tobias Doerffel - - * plugins/sf2_player/Makefile.am: - removed ui_patches_dialog.h from SOURCES-list - - * src/core/mmp.cpp: - don't mess up projects when loading files being created using - 0.4.0-alpha in a later version because "0.4.0-alpha" < "0.4.0-svn..." - - * include/mv_base.h: - Qt 4.3 compatibility - -2008-06-30 Tobias Doerffel - - * configure.in: - made 0.4.0-alpha release - - * src/core/song.cpp: - * src/core/mmp.cpp: - * src/core/track.cpp: - * src/core/automation_pattern.cpp: - fixed broken load/save of song-global automation - - * Makefile.am: - win32-pkg-fixes - - * data/locale/de.qm: - * data/locale/de.ts: - updated German localization file - - * include/song_editor.h: - * src/gui/song_editor.cpp: - made icon on play-button change according to current mode - - * include/main_window.h: - * src/gui/bb_editor.cpp: - * src/gui/fx_mixer_view.cpp: - * src/gui/main_window.cpp: - * src/gui/song_editor.cpp: - * src/gui/widgets/controller_rack_view.cpp: - added toggle-button for controller-rack-view and improved default - positions of sub-windows in workspace - - * src/core/song.cpp: - - send posted events after creating a new project - makes project not - being marked as modified right after it's been created - - create empty sample-track and automation-track in new projects - - * src/core/engine.cpp: - clear whole project before deleting everything - fixes segfault when - quitting with controllers added - - * src/core/effect_chain.cpp: - fixed crash when an effect failed to load because its sub-plugin is - missing (closes #2005910) - - * src/core/automation_pattern.cpp: - - initialize first value in time-map - - better default-model - - change automation-pattern to NULL if opened in automation editor - during destruction - - improved default-label - - when used in track-container with fixed TCOs, update length - - * src/core/track.cpp: - * src/tracks/bb_track.cpp: - * src/tracks/instrument_track.cpp: - * src/tracks/sample_track.cpp: - save/restore name-property inside track-class - - * src/tracks/automation_track.cpp: - set a proper name per default - - * src/gui/automation_editor.cpp: - queued connections for models for not getting signaled at - destruction-time - - * include/bb_editor.h: - * src/gui/bb_editor.cpp: - made it possible to add automation-tracks to BB-editor - - * include/automation_pattern.h: - * include/inline_automation.h: - * include/note.h: - * src/core/inline_automation.cpp: - * src/core/note.cpp: - fixed inlineAutomation::hasAutomation() - - * data/themes/default/style.css: - common font-size for various push-buttons - - * src/core/config_mgr.cpp: - ask whether to create working-directory if it does not exist - - * src/core/fx_mixer.cpp: - reset mute-model in fxMixer::clear() - - * include/track.h: - * src/core/track.cpp: - - removed obsolete static members - - more simple QPen-initialization for not making Qt leak - - * include/combobox_model.h: - pass _default_constructed-parameter to base-class - - * src/gui/lfo_controller_dialog.cpp: - renamed constants so one-unit-compiling is possible - - * src/gui/widgets/envelope_and_lfo_view.cpp: - * src/core/envelope_and_lfo_parameters.cpp: - do not duplicate constants - - * src/gui/widgets/group_box.cpp: - make sure LED's default-model is being deleted when changing model - - * src/core/plugin.cpp: - made initialization of dummy-plugin pixmap-loder static - - * src/core/mixer.cpp: - properly terminate worker-threads at mixer-destruction - - * src/core/main.cpp: - fixed various leaks - - * src/core/mmp.cpp: - replaced compat-code by proper code in multimediaProject::upgrade() - - * src/core/effect.cpp: - added missing initialization of m_processors member variable - - * src/core/instrument_functions.cpp: - removed obsolete constants - - * src/core/sample_buffer.cpp: - fixed broken logic when updating sample-data - - * src/core/automation_pattern.cpp: - in automationPattern::valueAt() check whether the time-map is empty - - * src/core/fx_mixer.cpp: - save/load mute-settings for FX-lines - - * src/core/peak_controller.cpp: - return default-value if there's no peak-effect - - * configure.in: - * Makefile.am: - * include/sample_buffer.h: - * src/core/sample_buffer.cpp: - removed support for SDL_sound-library as libsndfile and libvorbis do - everything we need - - * include/automatable_model.h: - * include/combobox_model.h: - * include/mv_base.h: - * include/piano_roll.h: - * src/core/base64.cpp: - * src/core/effect.cpp: - * src/core/engine.cpp: - * src/core/fx_mixer.cpp: - * src/core/instrument_functions.cpp: - * src/core/ladspa_manager.cpp: - * src/core/mv_base.cpp: - * src/gui/automation_editor.cpp: - * src/gui/main_window.cpp: - * src/gui/piano_roll.cpp: - * src/gui/widgets/combobox.cpp: - * src/gui/widgets/group_box.cpp: - * plugins/ladspa_effect/ladspa_effect.cpp: - fixed various leaks I found using Valgrind - -2008-06-30 Paul Giblock - - * plugins/ladspa_browser/ladspa_browser.cpp: - * include/automation_editor.h: - * src/gui/piano_roll.cpp: - * src/gui/fx_mixer_view.cpp: - * src/gui/widgets/controller_rack_view.cpp: - * src/gui/widgets/controller_view.cpp: - * src/gui/automation_editor.cpp: - * src/tracks/instrument_track.cpp: - Remove maximize and resize capability from many windows and set proper - minimum and intial sizes - -2008-06-29 Javier Serrano Polo - - * data/locale/ca.ts: - updated translation - -2008-06-29 Tobias Doerffel - - * include/track.h: - * include/sample_track.h: - * src/gui/widgets/effect_label.cpp: - * src/tracks/sample_track.cpp: - * src/core/sample_play_handle.cpp: - * src/core/track.cpp: - * Makefile.am: - finally resurrected sample-tracks - - * src/gui/automation_editor.cpp: - - improved drawing/erasing values - - fixed moving selected values - - * src/core/automation_pattern.cpp: - when drawing automation, do not overpaint border - - * data/themes/default/fx_mixer.png: - new icon at 32x32 px to make it scale better to 16x16 - -2008-06-29 Paul Giblock - - * plugins/sf2_player/sf2_player.cpp: - Initialize gain at 1.0 - - * src/core/automation_pattern.cpp: - - Correctly draw automation TCO for negative minValues. - - Add some shading - - * src/gui/controller_connection_dialog.cpp: - - Connect cancel button - - Make mapping function read-only for alpha release - - Initialize MIDI Controller name when adding a MIDI Controller - - * src/gui/widgets/tempo_sync_knob.cpp: - Make tempoSyncKnob really sync to tempo again - - * plugins/peak_controller_effect/peak_controller_effect.cpp: - * plugins/peak_controller_effect/peak_controller_effect_controls.cpp: - * plugins/peak_controller_effect/peak_controller_effect.h: - * include/peak_controller.h: - * src/core/peak_controller.cpp: - Fix loading/saving for peak controller - - * src/core/effect.cpp: - Correct comments - - * data/themes/default/style.css: - Make toolbar colors a little more clear - - * src/core/automation_pattern.cpp: - Save and load pattern position from project - - * include/automation_track.h: - * src/tracks/automation_track.cpp: - Allow dragging automatable views directly onto an automation-track - - * configure.in: - Fix LIBDIR for when people do not use --prefix - - * include/automation_editor.h: - * src/gui/automation_editor.cpp: - - Don't miss points when scribbling quickly - - Shift-Click to draw a line - - * include/lfo_controller.h: - * src/gui/lfo_controller_dialog.cpp: - * data/themes/default/lfo_controller_artwork.png: - Add LFO artwork (except it doesn't work for some odd reason) - - * plugins/stereo_matrix/stereomatrix_control_dialog.cpp: - * plugins/stereo_matrix/artwork.png: - Add StereoMatrix artwork - - * plugins/bit_invader/artwork.png: - Remove author name from artwork. No other artwork has author names. The - name on the main GUI makes LMMS looks less professional. AUTHORS. - - * plugins/patman/logo.png: - * plugins/stereo_matrix/artwork.png: - * plugins/audio_file_processor/logo.png: - * plugins/vestige/logo.png: - * plugins/spectrum_analyzer/log_x_axis.png: - * plugins/spectrum_analyzer/log_y_axis.png: - Update plugin artwork - - * plugins/live_tool/live_tool.cpp: - * src/gui/plugin_browser.cpp: - * src/gui/main_window.cpp: - * src/gui/automation_editor.cpp: - * src/gui/bb_editor.cpp: - * src/tracks/bb_track.cpp: - * src/core/mmp.cpp: - * data/locale/nl.ts: - * data/locale/it.ts: - * data/locale/ca.ts: - * data/locale/ru.ts: - * data/locale/de.ts: - * data/locale/sv.ts: - Rename Baseline to Bassline - -2008-06-28 Tobias Doerffel - - * plugins/Makefile.am: - * configure.in: - removed SingerBot-references - - * plugins/live_tool/live_tool.cpp: - * src/core/tool.cpp: - cleanups - - * src/gui/main_window.cpp: - * src/tracks/bb_track.cpp: - * src/tracks/pattern.cpp: - * src/core/automation_pattern.cpp: - * data/themes/default/project_new_from_template.png: - * data/themes/default/project_new.png: - * data/themes/default/project_import.png: - * data/themes/default/project_open_recent.png: - * data/themes/default/edit_rename.png: - * data/themes/default/rename.png: - splitted "new project"-button and added "recently opened - project"-button - - * src/gui/main_window.cpp: - * src/gui/song_editor.cpp: - * src/tracks/instrument_track.cpp: - * data/themes/default/edit_draw.png: - * data/themes/default/add_bb_track.png: - * data/themes/default/edit_arrow.png: - * data/themes/default/stop.png: - * data/themes/default/mute_off_disabled.png: - * data/themes/default/mute_on_disabled.png: - * data/themes/default/style.css: - * data/themes/default/play.png: - * data/themes/default/mute_on.png: - * data/themes/default/record.png: - * data/themes/default/automation.png: - * data/themes/default/help.png: - * data/themes/default/sample_track.png: - * data/themes/default/track_op_menu_disabled.png: - * data/themes/default/edit_select.png: - * data/themes/default/effect_board.png: - * data/themes/default/mute_off.png: - * data/themes/default/pause.png: - * data/themes/default/bb_track.png: - * data/themes/default/add_automation.png: - * data/themes/default/edit_erase.png: - * data/themes/default/record_accompany.png: - * data/themes/default/edit_move.png: - * data/themes/default/add_sample_track.png: - * data/themes/default/songeditor.png: - * data/themes/default/fx_mixer.png: - improved artwork and maintoolbar - -2008-06-28 Paul Giblock - - * configure.in: - * src/core/config_mgr.cpp: - * src/core/ladspa_manager.cpp: - Search LIBDIR before any other directories - - * acinclude.m4: - Search $QTDIR before any other directories - - * data/themes/default/style.css: - Update CSS for new QToolBar support - -2008-06-28 Tobias Doerffel - - * src/core/song.cpp: - * src/core/project_renderer.cpp: - - confirm overwrite when exporting file - - set filter when selecting output-file for export - - * include/audio_file_device.h: - * include/audio_file_ogg.h: - * include/audio_file_wave.h: - * include/project_renderer.h: - * src/core/audio/audio_file_device.cpp: - * src/core/audio/audio_file_ogg.cpp: - * src/core/audio/audio_file_wave.cpp: - * src/core/main.cpp: - * src/core/project_renderer.cpp: - * src/gui/export_project_dialog.cpp: - added support for exporting WAVE-files with 32-bit-float format - - * include/automation_editor.h: - fixed node-name - - * Makefile.am: - * include/automation_pattern.h: - * include/detuning_helper.h: - * include/inline_automation.h: - * include/note_play_handle.h: - * src/core/automation_pattern.cpp: - * src/core/inline_automation.cpp: - * src/core/note.cpp: - * src/core/note_play_handle.cpp: - * src/core/track.cpp: - * src/gui/piano_roll.cpp: - made note-detuning-automation work by making automationPatterns also - work without a parent-track and writing a generic inlineAutomation-class - - * src/gui/file_browser.cpp: - fixed crash when encountering invalid samplePlayHandle while - previewing (closes #2004875) - -2008-06-27 Tobias Doerffel - - * include/instrument_track.h: - * src/tracks/instrument_track.cpp: - added panning-knob to track-settings-widget - - * include/fx_mixer.h: - * include/fx_mixer_view.h: - * src/core/fx_mixer.cpp: - * src/gui/fx_mixer_view.cpp: - added mute-button for each FX-line - - * include/led_checkbox.h: - * src/gui/peak_controller_dialog.cpp: - * src/gui/widgets/instrument_function_views.cpp: - * src/gui/widgets/ladspa_control_view.cpp: - * src/gui/widgets/led_checkbox.cpp: - made enumeration match current coding style - - * src/core/track.cpp: - * src/core/plugin.cpp: - * Makefile.am: - cleanups - -2008-06-25 Tobias Doerffel - - * src/tracks/instrument_track.cpp: - overwrite-confirm when saving instrument-settings - - * src/core/effect_chain.cpp: - when clear()ing, also disable FX-chain (closes #1994482) - - * src/core/song.cpp: - always load FX-mixer-settings even if there's no GUI - - * src/core/track_container.cpp: - fixed broken clearAllTracks() - - * include/track.h: - * include/pattern.h: - * include/bb_track.h: - * src/tracks/bb_track.cpp: - * src/tracks/pattern.cpp: - * src/core/track.cpp: - name-property in trackContentObject-class - - * include/automation_pattern.h: - * src/core/automation_pattern.cpp: - - added submenu for removing connections - - made automation-pattern rename working - - * src/core/automation_pattern.cpp: - fixed loading song-global automation - -2008-06-24 Tobias Doerffel - - * plugins/vibed/vibrating_string.h: - * plugins/vibed/nine_button_selector.h: - * plugins/vibed/vibed.h: - * plugins/vibed/vibrating_string.cpp: - * plugins/vibed/string_container.h: - * plugins/vibed/nine_button_selector.cpp: - * plugins/vibed/Makefile.am: - * plugins/vibed/vibed.cpp: - * plugins/singerbot/singerbot.h: - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/flp_import/flp_import.cpp: - * include/note_play_handle.h: - * src/tracks/instrument_track.cpp: - * src/core/note_play_handle.cpp: - * src/core/audio/audio_device.cpp: - * src/core/audio/audio_oss.cpp: - - fixed wrong config.h-inclusion and deprecated macro-names from - config.h - makes Vibed plugin work again (closes #2000590) - - various coding-style fixes - - * plugins/bit_invader/bit_invader.cpp: - * plugins/vibed/vibed.cpp: - fixed plugin-instantiation - - * include/graph.h: - * src/gui/widgets/graph.cpp: - * plugins/vibed/vibed.cpp: - * plugins/vibed/vibed.h: - * plugins/bit_invader/bit_invader.cpp: - * plugins/bit_invader/bit_invader.h: - use int instead of Uint32 - - * plugins/plucked_string_synth/logo.png: - * plugins/plucked_string_synth/plucked_string_synth.cpp: - * plugins/plucked_string_synth/plucked_string_synth.h: - * plugins/plucked_string_synth/Makefile.am: - * plugins/plucked_string_synth/artwork.png: - * plugins/polyb302/polyb302.h: - * plugins/polyb302/logo.png: - * plugins/polyb302/Makefile.am: - * plugins/polyb302/polyb302.cpp: - * plugins/polyb302/artwork.png: - removed obsolete plugins - - * plugins/spectrum_analyzer/spectrumanalyzer_control_dialog.cpp: - * plugins/spectrum_analyzer/spectrum_analyzer.cpp: - * plugins/spectrum_analyzer/Makefile.am: - * plugins/spectrum_analyzer/spectrum_analyzer.h: - * configure.in: - use float-based FFTW-library - - * Makefile.am: - * include/peak_controller.h: - * include/tempo_sync_knob.h: - fixes for win32-build - -2008-06-23 Tobias Doerffel - - * plugins/ladspa_effect/ladspa_effect.cpp: - * plugins/ladspa_effect/ladspa_controls.cpp: - * plugins/ladspa_effect/ladspa_controls.h: - * plugins/organic/organic.cpp: - * plugins/organic/organic.h: - * plugins/lb302/lb302.cpp: - * plugins/vibed/nine_button_selector.cpp: - * plugins/triple_oscillator/triple_oscillator.h: - * plugins/triple_oscillator/triple_oscillator.cpp: - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/stk/mallets/mallets.cpp: - * plugins/kicker/kicker.cpp: - * plugins/midi_import/midi_import.cpp: - * include/effect.h: - * include/meter_model.h: - * include/track.h: - * include/automatable_model.h: - * include/instrument_functions.h: - * include/ladspa_control.h: - * include/audio_port.h: - * include/automation_pattern.h: - * include/effect_view.h: - * include/graph.h: - * include/song.h: - * include/pattern.h: - * include/envelope_and_lfo_parameters.h: - * include/song_editor.h: - * include/journalling_object.h: - * include/automatable_model_view.h: - * include/surround_area.h: - * include/mv_base.h: - * include/controller_view.h: - * include/effect_controls.h: - * include/midi_port.h: - * include/automation_editor.h: - * include/effect_chain.h: - * include/automation_track.h: - * include/track_container.h: - * include/plugin_view.h: - * src/gui/piano_roll.cpp: - * src/gui/track_container_view.cpp: - * src/gui/controller_dialog.cpp: - * src/gui/automatable_model_view.cpp: - * src/gui/effect_control_dialog.cpp: - * src/gui/fx_mixer_view.cpp: - * src/gui/song_editor.cpp: - * src/gui/widgets/ladspa_control_view.cpp: - * src/gui/widgets/graph.cpp: - * src/gui/widgets/combobox.cpp: - * src/gui/widgets/midi_port_menu.cpp: - * src/gui/widgets/controller_rack_view.cpp: - * src/gui/widgets/instrument_sound_shaping_view.cpp: - * src/gui/widgets/envelope_and_lfo_view.cpp: - * src/gui/widgets/knob.cpp: - * src/gui/widgets/instrument_function_views.cpp: - * src/gui/widgets/instrument_midi_io_view.cpp: - * src/gui/widgets/automatable_slider.cpp: - * src/gui/widgets/group_box.cpp: - * src/gui/widgets/lcd_spinbox.cpp: - * src/gui/widgets/controller_view.cpp: - * src/gui/widgets/fader.cpp: - * src/gui/widgets/effect_rack_view.cpp: - * src/gui/widgets/tempo_sync_knob.cpp: - * src/gui/widgets/automatable_button.cpp: - * src/gui/widgets/meter_dialog.cpp: - * src/gui/automation_editor.cpp: - * src/tracks/automation_track.cpp: - * src/tracks/sample_track.cpp: - * src/tracks/bb_track.cpp: - * src/tracks/instrument_track.cpp: - * src/tracks/pattern.cpp: - * src/core/effect_chain.cpp: - * src/core/project_journal.cpp: - * src/core/midi/midi_controller.cpp: - * src/core/midi/midi_port.cpp: - * src/core/note_play_handle.cpp: - * src/core/song.cpp: - * src/core/track_container.cpp: - * src/core/bb_track_container.cpp: - * src/core/journalling_object.cpp: - * src/core/automatable_model.cpp: - * src/core/audio/audio_port.cpp: - * src/core/sample_play_handle.cpp: - * src/core/envelope_and_lfo_parameters.cpp: - * src/core/mmp.cpp: - * src/core/instrument_sound_shaping.cpp: - * src/core/meter_model.cpp: - * src/core/instrument_functions.cpp: - * src/core/track.cpp: - * src/core/ladspa_control.cpp: - * src/core/note.cpp: - * src/core/piano.cpp: - * src/core/surround_area.cpp: - * src/core/mv_base.cpp: - * src/core/automation_pattern.cpp: - * src/core/fx_mixer.cpp: - * data/themes/default/add_automation.png: - - completely new automation-system with automation-tracks and - automation-patterns as well as song-global automation - - made modelView take a QWidget-pointer argument - - trackContentObject-ctor now calls track::addTCO() directly - - optimize various loops to use iterators/const_iterators instead of - a running index variable - - drag'n'drop doesn't fool around with pointers anymore - instead use - unique journalling-IDs - - moved drag'n'drop handling code from knob to automatableModelView so - that all controls can benefit from that - -2008-06-23 Paul Giblock - - * include/lfo_controller.h: - * src/gui/lfo_controller_dialog.cpp: - * src/core/lfo_controller.cpp: - * data/themes/default/lfo_d100_active.png: - * data/themes/default/lfo_d100_inactive.png: - * data/themes/default/lfo_x100_active.png: - * data/themes/default/lfo_x100_inactive.png: - * data/themes/default/lfo_x1_active.png: - * data/themes/default/lfo_x1_inactive.png: - Add multiplier to lfo-controller and fix tempo-sync knob. Breaks old - projects that use LFO, but shouldn't matter since 0.4 hasn't been - released - - * src/gui/widgets/tempo_sync_knob.cpp: - Allow tempo-sync knob to work with ranges other than [0..1] - - * src/core/envelope_and_lfo_parameters.cpp: - Remove hardcoded literal, use already defined const int instead - - * data/projects/templates/CR8000.mpt: - * data/projects/templates/TR808.mpt: - Added two drumsynth templates - -2008-06-20 Tobias Doerffel - - * include/automatable_model_view.h: - * src/core/piano.cpp: - full context-menu for piano-basenote so it can be automated as well as - controlled via controller - - * src/gui/widgets/knob.cpp: - - when linking knobs via Shift+Drag do not use pointer to model as - drag-data rather than model-ID which can be resolved via - project-journal - - fixed displayValue() - - * Makefile.am: - * include/knob.h: - * include/volume_knob.h: - * plugins/organic/organic.cpp: - * plugins/organic/organic.h: - * plugins/vibed/vibed.h: - * plugins/vibed/vibed.cpp: - * plugins/triple_oscillator/triple_oscillator.h: - * plugins/triple_oscillator/triple_oscillator.cpp: - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/audio_file_processor/audio_file_processor.h: - * src/tracks/instrument_track.cpp: - * src/gui/widgets/knob.cpp: - * src/gui/widgets/volume_knob.cpp: - removed volumeKnob-class and added volumeKnob-property to knob-class - instead - - * plugins/flp_import/flp_import.cpp: - * include/controller_connection.h: - * include/lcd_spinbox.h: - * include/controller.h: - * include/automatable_model.h: - * include/instrument_track.h: - * include/instrument_functions.h: - * include/note_play_handle.h: - * include/instrument_sound_shaping.h: - * include/basic_filters.h: - * include/sample_track.h: - * include/surround_area.h: - * src/core/note_play_handle.cpp: - * src/core/automatable_model.cpp: - * src/core/main.cpp: - * src/core/instrument_sound_shaping.cpp: - * src/core/piano.cpp: - * src/core/surround_area.cpp: - reduced header-dependencies and various cleanups - - * include/tempo_sync_knob.h: - * src/gui/widgets/tempo_sync_knob.cpp: - - do not re-implement private event-handlers and use knob's signals - instead - - fixed crash when closing meterDialog and choosing custom-sync - afterwards - - * src/gui/fx_mixer_view.cpp: - better initial position of FX-mixer view - - * src/gui/song_editor.cpp: - removed obsolete headers - - * include/setup_dialog.h: - * src/gui/bb_editor.cpp: - * src/gui/main_window.cpp: - * src/gui/setup_dialog.cpp: - * src/gui/song_editor.cpp: - * src/gui/widgets/controller_rack_view.cpp: - * src/gui/widgets/knob.cpp: - - removed obsolete non-MDI-mode - - removed classical knob-usability - - removed show-wizard-after-upgrade setting - - other cleanups - -2008-06-20 Paul Giblock - - * src/core/piano.cpp: - make SVN compile again - -2008-06-20 Paul Wayper - - * src/core/piano.cpp: - added Doxygen documentation. - -2008-06-19 Paul Wayper - - * src/core/track.cpp: - added Doxygen documentation. - -2008-06-16 Tobias Doerffel - - * plugins/Makefile.am: - * configure.in: - added libfftw3-detection - - * plugins/bass_booster/bassbooster_control_dialog.cpp: - * plugins/bass_booster/artwork.png: - * plugins/peak_controller_effect/peak_controller_effect_control_dialog.cpp: - * plugins/peak_controller_effect/artwork.png: - added metal-brushed background-artwork - - * src/tracks/instrument_track.cpp: - added unit to pitch-knob - -2008-06-15 Paul Giblock - - * plugins/stereo_matrix/stereo_matrix.cpp: - update author email address - - * src/gui/widgets/graph.cpp: - * src/gui/lfo_controller_dialog.cpp: - code cleanup - - * src/gui/widgets/fade_button.cpp: - * src/tracks/instrument_track.cpp: - improve appearance of fade buttons - - * include/tool_button.h: - * src/gui/widgets/tool_button.cpp: - * src/gui/lmms_style.cpp: - * data/themes/default/style.css: - remove styling, rely on QStyle and stylesheets now - - * include/song_editor.h: - * include/main_window.h: - * include/timeline.h: - * src/gui/main_window.cpp: - * src/gui/song_editor.cpp: - * src/gui/widgets/nstate_button.cpp: - * src/core/timeline.cpp: - - * data/themes/default/main_toolbar_bg.png: - * data/themes/default/toolbar_bg.png: - Enlarge images for resizable toolbars - quick fix. Could just clamp the - texture at the bottom - -2008-06-15 Tobias Doerffel - - * include/knob.h: - * src/gui/widgets/knob.cpp: - - cache pixmap - - only redraw if angle has changed by more than 3 degrees - - cleanups - - * src/core/midi/midi_alsa_seq.cpp: - cleanups and small optimizations - - * include/instrument_midi_io_view.h: - * include/instrument_track.h: - * include/midi_port.h: - * src/core/midi/midi_port.cpp: - * src/tracks/instrument_track.cpp: - * src/gui/widgets/instrument_midi_io_view.cpp: - refactored midiPortMenu-creation and -management - fixes crash when - removing track which had MIDI-in enabled and enabled MIDI-in for - another track afterwards - - * src/gui/file_browser.cpp: - do not load MIDI-settings when loading preset as this might break - existing instrument tracks - - * include/automatable_model.h: - * src/tracks/instrument_track.cpp: - directly handle MIDI-pitch-bend events - - * include/instrument_track.h: - * src/core/note_play_handle.cpp: - * src/tracks/instrument_track.cpp: - - added pitch-knob to instrument-track - - fixed activity indicator - - * plugins/stk/voices/flute/flute_model.cpp: - * plugins/stk/voices/flute/flute_model.h: - * plugins/stk/voices/flute/flute_instrument.cpp: - * plugins/stk/voices/resonate/resonate_model.cpp: - * plugins/stk/voices/resonate/resonate_model.h: - * plugins/stk/voices/resonate/resonate_instrument.cpp: - * plugins/stk/voices/include/stk_instrument.h: - * plugins/stk/voices/include/stk_processor.h: - * plugins/stk/voices/include/stk_model.h: - * plugins/stk/voices/include/stk_voice.h: - * plugins/stk/voices/wurley/wurley_instrument.cpp: - * plugins/stk/voices/wurley/wurley_model.cpp: - * plugins/stk/voices/wurley/wurley_model.h: - * plugins/stk/voices/src/stk_model.cpp: - * plugins/stk/voices/percflute/percflute_model.h: - * plugins/stk/voices/percflute/percflute_instrument.cpp: - * plugins/stk/voices/percflute/percflute_model.cpp: - * plugins/stk/voices/rhodey/rhodey_model.h: - * plugins/stk/voices/rhodey/rhodey_instrument.cpp: - * plugins/stk/voices/rhodey/rhodey_model.cpp: - * plugins/stk/voices/tubebell/tubebell_model.cpp: - * plugins/stk/voices/tubebell/tubebell_model.h: - * plugins/stk/voices/tubebell/tubebell_instrument.cpp: - * plugins/stk/voices/bowed/bowed_model.cpp: - * plugins/stk/voices/bowed/bowed_model.h: - * plugins/stk/voices/bowed/bowed_instrument.cpp: - * plugins/stk/voices/clarinet/clarinet_model.cpp: - * plugins/stk/voices/clarinet/clarinet_model.h: - * plugins/stk/voices/clarinet/clarinet_instrument.cpp: - * plugins/stk/voices/moog/moog_model.cpp: - * plugins/stk/voices/moog/moog_model.h: - * plugins/stk/voices/moog/moog_instrument.cpp: - * plugins/stk/voices/metal/metal_model.cpp: - * plugins/stk/voices/metal/metal_model.h: - * plugins/stk/voices/metal/metal_instrument.cpp: - * plugins/stk/voices/b3/b3_model.cpp: - * plugins/stk/voices/b3/b3_model.h: - * plugins/stk/voices/b3/b3_instrument.cpp: - * plugins/stk/voices/blow_hole/blow_hole_model.h: - * plugins/stk/voices/blow_hole/blow_hole_instrument.cpp: - * plugins/stk/voices/blow_hole/blow_hole_model.cpp: - * plugins/stk/voices/brass/brass_model.h: - * plugins/stk/voices/brass/brass_instrument.cpp: - * plugins/stk/voices/brass/brass_model.cpp: - * plugins/stk/voices/fmvoices/fmvoices_model.h: - * plugins/stk/voices/fmvoices/fmvoices_instrument.cpp: - * plugins/stk/voices/fmvoices/fmvoices_model.cpp: - * plugins/stk/voices/bandedwg/bandedwg_model.h: - * plugins/stk/voices/bandedwg/bandedwg_instrument.cpp: - * plugins/stk/voices/bandedwg/bandedwg_model.cpp: - * plugins/stk/voices/blow_bottle/blow_bottle_model.h: - * plugins/stk/voices/blow_bottle/blow_bottle_instrument.cpp: - * plugins/stk/voices/blow_bottle/blow_bottle_model.cpp: - made STK-voices-plugins compile after they've not been maintained for - a while - - * include/pixmap_button.h: - * src/gui/widgets/pixmap_button.cpp: - removed removed obsolete ctrlClick() signal - - * include/track_container.h: - * src/core/track_container.cpp: - removed obsolete setMutedOfAllTracks() method - - * src/core/song.cpp: - - lock mixer while loading project - fixes crashes when loading projects - with FX-mixer settings - - update BB-track-container after creating a new project - fixes - non-existing TCOs (i.e. patterns) in BB-Editor in new projects - - * include/config_mgr.h: - added missing include - - * src/tracks/bb_track.cpp: - unregister BB-track-view from BB-editor at destruction - fixes crash - when removing BB-tracks - - * src/core/bb_track_container.cpp: - cleanups and more optimized loops - - * include/track.h: - * src/core/track.cpp: - - fixed issue when moving BB-tracks up/down where actual BB-TCOs were - not moved (closes #1994468) - - in trackContentObjectView and trackView, handle deletion of models - more gracefully - -2008-06-14 Tobias Doerffel - - * plugins/spectrum_analyzer/spectrum_analyzer.cpp: - don't apply window-function to data as this seems to make things only - even worse - - * plugins/spectrum_analyzer/log_x_axis.png: - * plugins/spectrum_analyzer/log_y_axis.png: - * plugins/spectrum_analyzer/background.png: - * plugins/spectrum_analyzer/spectrum_background.png: - * plugins/spectrum_analyzer/spectrum_background_plain.png: - * plugins/spectrum_analyzer/spectrumanalyzer_control_dialog.cpp: - * plugins/spectrum_analyzer/spectrum_analyzer.cpp: - * plugins/spectrum_analyzer/spectrumanalyzer_controls.cpp: - * plugins/spectrum_analyzer/spectrumanalyzer_control_dialog.h: - labeled axes and correct logarithmic view - - * plugins/spectrum_analyzer/background.png: - * plugins/spectrum_analyzer/spectrum_background.png: - * plugins/spectrum_analyzer/spectrum_background_plain.png: - * plugins/spectrum_analyzer/spectrumanalyzer_control_dialog.cpp: - * plugins/spectrum_analyzer/spectrum_analyzer.h: - improved appearence of Spectrum Analzyer - - * configure.in: - * plugins/Makefile.am: - * plugins/spectrum_analyzer/Makefile.am: - * plugins/spectrum_analyzer/logo.png: - * plugins/spectrum_analyzer/spectrum_analyzer.h: - * plugins/spectrum_analyzer/spectrum_analyzer.cpp: - * plugins/spectrum_analyzer/spectrumanalyzer_controls.h: - * plugins/spectrum_analyzer/spectrumanalyzer_controls.cpp: - * plugins/spectrum_analyzer/spectrumanalyzer_control_dialog.h: - * plugins/spectrum_analyzer/spectrumanalyzer_control_dialog.cpp: - added initial version of spectrum analyzer - very basic at the moment! - - * plugins/bass_booster/bass_booster.cpp: - * plugins/bass_booster/bass_booster.h: - * plugins/bass_booster/bassbooster_controls.h: - * plugins/ladspa_effect/ladspa_controls.h: - * plugins/peak_controller_effect/peak_controller_effect_controls.h: - * plugins/stereo_enhancer/stereoenhancer_controls.h: - * plugins/stereo_matrix/stereomatrix_controls.h: - * plugins/vst_effect/vst_effect_controls.h: - * include/dummy_effect.h: - * include/effect_controls.h: - changed return-type of effectControls::getControlCount() - -2008-06-12 Tobias Doerffel - - * include/project_renderer.h: - * src/gui/dialogs/export_project.ui: - * src/gui/export_project_dialog.cpp: - * src/core/audio/audio_file_ogg.cpp: - * src/core/main.cpp: - * src/core/project_renderer.cpp: - improved support for different file-formats when exporting and fixed - bug which made LMMS crash when exporting to OGG-file - -2008-06-10 Tobias Doerffel - - * src/core/song.cpp: - fixed loading files in no-GUI mode - - * include/mixer.h: - * src/core/audio/audio_device.cpp: - * src/core/mixer.cpp: - * src/core/project_renderer.cpp: - don't use fifoWriter when rendering as we do not have realtime issues - here - fixes lockups on various systems when exporting project - - * plugins/sf2_player/sf2_player.cpp: - enabled LCD-Spinboxes for easily switching banks/patches - I know that - this way you can select banks/patches that do not exist but opening - patch-dialog each time is much more inconvenient - maybe we can - subclass lcdSpinBox one day so that it automatically "skips" wholes - when scrolling - - * include/instrument_track.h: - * src/tracks/instrument_track.cpp: - removed obsolete instrumentTrackView::updateName() and made - track-button update on name-changes - -2008-06-10 Paul Giblock - - * plugins/sf2_player/artwork.png: - * plugins/sf2_player/chorus_off.png: - * plugins/sf2_player/chorus_on.png: - * plugins/sf2_player/fileselect_off.png: - * plugins/sf2_player/fileselect_on.png: - * plugins/sf2_player/patches_on.png: - * plugins/sf2_player/patches_off.png: - * plugins/sf2_player/reverb_off.png: - * plugins/sf2_player/reverb_on.png: - * plugins/sf2_player/sf2_player.cpp: - * plugins/sf2_player/sf2_player.h: - * data/themes/default/style.css: - * data/themes/default/lcd_21pink.png: - integrate new sf2 artwork, for the most part at least - -2008-06-09 Tobias Doerffel - - * src/gui/main_window.cpp: - also show *.xiz files in preset-browser - - * src/gui/file_browser.cpp: - classify .xml-files always as presets and do not examine them more - detailed - also improves LMMS-startup-times - - * Makefile.am: - added a few files to LMMS-headers - -2008-06-08 Paul Giblock - - * src/gui/widgets/graph.h: - * src/gui/widgets/graph.cpp: - - Fix graph widget "scrolling" - - Add styles so it can be drawn un-interpolated - - * include/mv_base.h: - * src/core/mv_base.cpp: - Add recursive fullDisplayName function - - * include/combobox_model.h: - * src/gui/widgets/automatable_button.cpp: - * src/gui/widgets/combobox.cpp: - * src/gui/widgets/tempo_sync_knob.cpp: - * src/gui/widgets/effect_view.cpp: - * src/gui/lfo_controller_dialog.cpp: - * src/core/midi/midi_port.cpp: - * src/core/fx_mixer.cpp: - * src/core/lfo_controller.cpp: - * src/core/effect.cpp: - extend more models and views for displayName - - * include/instrument.h: - * src/gui/widgets/instrument_sound_shaping_view.cpp: - * src/gui/widgets/envelope_and_lfo_view.cpp: - * src/gui/widgets/instrument_function_views.cpp: - * src/gui/widgets/instrument_midi_io_view.cpp: - * src/core/envelope_and_lfo_parameters.cpp: - * src/core/instrument_sound_shaping.cpp: - * src/core/instrument_functions.cpp: - * src/core/instrument.cpp: - extend instrument stuff for displayName - - * include/controller_connection_dialog.h: - * src/gui/controller_connection_dialog.cpp: - improve interface slightly - - * plugins/bit_invader/bit_invader.cpp: - change graph style mode when toggling interpolation - - * plugins/peak_controller_effect: - * plugins/peak_controller_effect/peak_controller_effect_control_dialog.cpp: - * plugins/peak_controller_effect/peak_controller_effect.cpp: - * plugins/peak_controller_effect/logo.png: - * plugins/peak_controller_effect/peak_controller_effect_controls.cpp: - * plugins/peak_controller_effect/peak_controller_effect_control_dialog.h: - * plugins/peak_controller_effect/peak_controller_effect.h: - * plugins/peak_controller_effect/peak_controller_effect_controls.h: - * plugins/peak_controller_effect/Makefile.am: - * plugins/Makefile.am: - * include/peak_controller.h: - * include/controller.h: - * include/automatable_model.h: - * src/gui/peak_controller_dialog.cpp: - * src/core/peak_controller.cpp: - * src/core/controller.cpp: - * configure.in: - * Makefile.am: - - Very first implementation of peak-controller - - Create one by adding it in the effect-chain, then connecting a widget to - the controller - - There is no sample-exactness, smoothing, or anything like that yet - -2008-06-08 Tobias Doerffel - - * plugins/ladspa_effect/tap/tap_deesser.c: - * plugins/ladspa_effect/tap/tap_sigmoid.c: - * plugins/ladspa_effect/tap/tap_doubler.c: - * plugins/ladspa_effect/tap/ladspa-local.h: - * plugins/ladspa_effect/tap/tap_eqbw.c: - * plugins/ladspa_effect/tap/tap_pinknoise.c: - * plugins/ladspa_effect/tap/tap_chorusflanger.c: - * plugins/ladspa_effect/tap/tap_eq.c: - * plugins/ladspa_effect/tap/tap_limiter.c: - * plugins/ladspa_effect/tap/ladspa.h: - * plugins/ladspa_effect/tap/tap_vibrato.c: - * plugins/ladspa_effect/tap/tap_autopan.c: - * plugins/ladspa_effect/tap/tap_pitch.c: - * plugins/ladspa_effect/tap/tap_dynamics_st.c: - * plugins/ladspa_effect/tap/tap_echo.c: - * plugins/ladspa_effect/tap/tap_tremolo.c: - * plugins/ladspa_effect/tap/tap_tubewarmth.c: - * plugins/ladspa_effect/tap/tap_dynamics_m.c: - * plugins/ladspa_effect/tap/Makefile.am: - * plugins/ladspa_effect/tap/tap_reflector.c: - * plugins/ladspa_effect/tap/tap_reverb.c: - * plugins/ladspa_effect/tap/tap_rotspeak.c: - * plugins/ladspa_effect/caps/basics.h: - * plugins/ladspa_effect/caps/Makefile.am: - * plugins/vst_base/lvsl_client.cpp: - * plugins/vst_base/lvsl_server.cpp: - * plugins/vst_base/communication.h: - * plugins/midi_import/midi_import.h: - * include/effect.h: - * include/midi_dummy.h: - * include/endian_handling.h: - * include/track.h: - * include/note.h: - * include/engine.h: - * include/sweep_oscillator.h: - * include/debug.h: - * include/midi_alsa_raw.h: - * include/config_mgr.h: - * include/import_filter.h: - * include/audio_file_wave.h: - * include/mixer.h: - * include/audio_file_ogg.h: - * include/ladspa_manager.h: - * include/ladspa_control.h: - * include/sample_buffer.h: - * include/fx_mixer.h: - * include/nstate_button.h: - * include/audio_pulseaudio.h: - * include/clipboard.h: - * include/audio_sdl.h: - * include/micro_timer.h: - * include/midi_event_processor.h: - * include/audio_jack.h: - * include/piano_roll.h: - * include/volume.h: - * include/oscillator.h: - * include/export.h: - * include/midi_alsa_seq.h: - * include/tool.h: - * include/setup_dialog.h: - * include/tab_bar.h: - * include/audio_device.h: - * include/audio_oss.h: - * include/audio_alsa.h: - * src/gui/piano_roll.cpp: - * src/gui/main_window.cpp: - * src/gui/song_editor.cpp: - * src/gui/setup_dialog.cpp: - * src/gui/about_dialog.cpp: - * src/tracks/instrument_track.cpp: - * src/core/plugin.cpp: - * src/core/song.cpp: - * src/core/config_mgr.cpp: - * src/core/audio/audio_oss.cpp: - * src/core/envelope_and_lfo_parameters.cpp: - * src/core/main.cpp: - * src/core/mmp.cpp: - * src/core/ladspa_manager.cpp: - * src/core/ladspa_control.cpp: - * src/core/sample_buffer.cpp: - * Makefile.am: - use lmmsconfig.h rather than config.h and use prefixed macro-names - - * acinclude.m4: - * configure.in: - create include/lmmsconfig.h which contains prefixed config.h defines - -2008-06-07 Tobias Doerffel - - * src/core/song.cpp: - reset m_modified after loading a project, creating a new one or saving - - * src/core/song.cpp: - in song::setModified() only call mainWindow::resetWindowTitle() when - being called with GUI-thread affinity - - * include/automatable_model.h: - * src/core/automatable_model.cpp: - * src/core/automation_pattern.cpp: - added fast and more leight-weight setAutomatedValue() which omits - things like journalling - makes things faster and doesn't introduce - threading-problems - - * src/core/mmp.cpp: - handle renamed midi-node ("midi" -> "midiport") - - * src/tracks/instrument_track.cpp: - fixed MIDI-IO when using raw MIDI client - - * plugins/midi_import/midi_import.cpp: - * include/song.h: - added support for importing time-signature settings - - * Makefile.am: - * plugins/midi_import/midi_import.cpp: - * plugins/vestige/vestige.cpp: - * plugins/vst_base/lvsl_client.cpp: - * plugins/vst_base/lvsl_server.cpp: - * include/meter_model.h: - * include/midi.h: - * src/core/note_play_handle.cpp: - * src/core/piano.cpp: - * src/core/midi/midi_alsa_seq.cpp: - * src/core/midi/midi_client.cpp: - * src/core/midi/midi_controller.cpp: - * src/core/midi/midi_port.cpp: - * src/tracks/instrument_track.cpp: - * src/gui/controller_connection_dialog.cpp: - * src/gui/piano_roll.cpp: - made MidiEventTypes-enum conform coding-style, i.e. MidiNoteOn instead - of NOTE_ON etc. - - * include/controller_connection_dialog.h: - * include/instrument_midi_io_view.h: - * include/instrument_track.h: - * include/midi_alsa_raw.h: - * include/midi_alsa_seq.h: - * include/midi_client.h: - * include/midi_controller.h: - * include/midi_io_model.h: - * include/midi_oss.h: - * include/midi_port.h: - * include/midi_port_menu.h: - * src/core/note_play_handle.cpp: - * src/core/preset_preview_play_handle.cpp: - * src/core/song.cpp: - * src/core/midi/midi_client.cpp: - * src/core/midi/midi_controller.cpp: - * src/core/midi/midi_port.cpp: - * src/core/midi/midi_io_model.cpp: - * src/core/midi/midi_alsa_seq.cpp: - * src/gui/piano_roll.cpp: - * src/gui/controller_connection_dialog.cpp: - * src/gui/widgets/instrument_midi_io_view.cpp: - * src/tracks/instrument_track.cpp: - * Makefile.am: - rewrote management of MIDI-ports and MIDI-port subscriptions - now - it's central and easy to use - -2008-06-06 Tobias Doerffel - - * include/note.h: - * include/serializing_object.h: - * include/instrument_track.h: - * include/sample_buffer.h: - * include/journalling_object.h: - * src/gui/automation_editor.cpp: - * src/core/serializing_object.cpp: - * src/core/journalling_object.cpp: - * src/core/note.cpp: - * Makefile.am: - splitted basic functionality of journallingObject into - serializingObject so that creating note objects, notePlayHandles etc. - does not have all the journalling-overhead (assigning/freeing ID etc.) - -2008-06-06 Paul Giblock - - * include/knob.h: - * include/automatable_slider.h: - * include/controller_connection.h: - * include/midi_controller.h: - * include/automatable_model.h: - * include/automatable_button.h: - * include/tempo_sync_knob.h: - * include/controller_connection_dialog.h: - * include/pixmap_button.h: - * include/automatable_model_view.h: - * include/mv_base.h: - * include/volume_knob.h: - * src/gui/automatable_model_view.cpp: - * src/gui/controller_connection_dialog.cpp: - * src/gui/widgets/knob.cpp: - * src/gui/widgets/automatable_slider.cpp: - * src/gui/widgets/group_box.cpp: - * src/gui/widgets/lcd_spinbox.cpp: - * src/gui/widgets/tempo_sync_knob.cpp: - * src/gui/widgets/automatable_button.cpp: - * src/core/midi/midi_controller.cpp: - * src/core/automatable_model.cpp: - * src/core/controller_connection.cpp: - - add support for sequenced midi in midi-controllers - - add displayName field to model / autoModel for descriptive model trees - - use displayName for midiController and contextMenus - - * src/core/ladspa_control.cpp: - * plugins/lb302/lb302.cpp: - * plugins/organic/organic.cpp: - * plugins/organic/organic.h: - * plugins/bass_booster/bassbooster_control_dialog.cpp: - * plugins/bass_booster/bassbooster_controls.cpp: - * plugins/stereo_matrix/stereomatrix_control_dialog.cpp: - * plugins/stereo_matrix/stereomatrix_controls.cpp: - * plugins/bit_invader/bit_invader.cpp: - * plugins/vibed/nine_button_selector.cpp: - * plugins/vibed/vibed.cpp: - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/stereo_enhancer/stereoenhancer_control_dialog.cpp: - * plugins/stereo_enhancer/stereoenhancer_controls.cpp: - * plugins/sf2_player/sf2_player.cpp: - * plugins/kicker/kicker.cpp: - * plugins/stk/mallets/mallets.cpp: - * plugins/triple_oscillator/triple_oscillator.h: - * plugins/triple_oscillator/triple_oscillator.cpp: - - Update plugins to use displayName for child widgets - - Still need to do this to all of LMMS core - - * include/effect_lib.h: - * src/core/lfo_controller.cpp: - Fix compile time warnings - - * include/automatable_model.h: - * include/instrument_track.h: - * include/controller_connection_dialog.h: - * src/gui/controller_connection_dialog.cpp: - * src/tracks/instrument_track.cpp: - Test to see if we can now generate reasonable midi-port names. We can, - the feature is very beta right now (no screenupdating, loading, etc..) - -2008-06-05 Tobias Doerffel - - * include/track.h: - * include/track_container_view.h: - * src/core/track.cpp: - * src/gui/track_container_view.cpp: - remove track from within slot in trackContainerView for not deleting - object inside its own method - fixes Qt-warning and closes #1981812 - - * src/tracks/instrument_track.cpp: - when freeing instrument-window, also free view immediately - fixes - crash when removing instrument-track while instrument-track window was - open - - * include/automatable_model.h: - * include/automation_editor.h: - * src/gui/piano_roll.cpp: - * src/gui/widgets/graph.cpp: - * src/gui/widgets/knob.cpp: - * src/gui/widgets/fader.cpp: - * src/gui/automation_editor.cpp: - fixed various GCC-warnings - -2008-06-05 Paul Giblock - - * include/automatable_model.h: - * include/mv_base.h: - * src/gui/automatable_model_view.cpp: - * src/gui/widgets/knob.cpp: - add setDisplayName to model, but doesn't work right for some reason - -2008-06-05 Tobias Doerffel - - * include/note.h: - * include/note_play_handle.h: - removed obsolete FASTCALL-attributes - - * include/project_journal.h: - * src/core/project_journal.cpp: - * src/core/song.cpp: - heavily optimized journal-cleanup - project unloading is now - unbelievable fast! - -2008-06-05 Paul Giblock - - * data/themes/default/style.css: - fix check-marks on menus. They used to all appear checked no matter what - -2008-06-05 Tobias Doerffel - - * include/track.h: - * src/core/track.cpp: - re-arranged mute- and solo-buttons - - * plugins/ladspa_effect/tap/tap_deesser.c: - * plugins/ladspa_effect/tap/tap_reverb.h: - * plugins/ladspa_effect/tap/tap_sigmoid.c: - * plugins/ladspa_effect/tap/tap_doubler.c: - * plugins/ladspa_effect/tap/tap_eqbw.c: - * plugins/ladspa_effect/tap/tap_pinknoise.c: - * plugins/ladspa_effect/tap/tap_reverb_presets.h: - * plugins/ladspa_effect/tap/tap_chorusflanger.c: - * plugins/ladspa_effect/tap/ladspa.h: - * plugins/ladspa_effect/tap/tap_limiter.c: - * plugins/ladspa_effect/tap/tap_utils.h: - * plugins/ladspa_effect/tap/tap_eq.c: - * plugins/ladspa_effect/tap/tap_vibrato.c: - * plugins/ladspa_effect/tap/tap_autopan.c: - * plugins/ladspa_effect/tap/tap_pitch.c: - * plugins/ladspa_effect/tap/CREDITS: - * plugins/ladspa_effect/tap/README: - * plugins/ladspa_effect/tap/tap_dynamics_st.c: - * plugins/ladspa_effect/tap/tap_echo.c: - * plugins/ladspa_effect/tap/tap_tremolo.c: - * plugins/ladspa_effect/tap/tap_dynamics_presets.h: - * plugins/ladspa_effect/tap/tap_tubewarmth.c: - * plugins/ladspa_effect/tap/COPYING: - * plugins/ladspa_effect/tap/tap_dynamics_m.c: - * plugins/ladspa_effect/tap/Makefile.am: - * plugins/ladspa_effect/tap/tap_reflector.c: - * plugins/ladspa_effect/tap/tap_reverb.c: - * plugins/ladspa_effect/tap/tap_rotspeak.c: - * plugins/ladspa_effect/Makefile.am: - * configure.in: - * Makefile.am: - integrated TAP-plugins to be shipped with LMMS - -2008-06-04 Paul Giblock - - * src/gui/lmms_style.cpp: - Shrink the titlebars - -2008-06-03 Tobias Doerffel - - * plugins/vibed/nine_button_selector.cpp: - * plugins/live_tool/live_tool.cpp: - * include/note_play_handle.h: - * include/track_container.h: - * include/track.h: - * src/tracks/bb_track.cpp: - * src/tracks/instrument_track.cpp: - * src/tracks/pattern.cpp: - * src/core/sample_play_handle.cpp: - * src/core/track.cpp: - renamed muted() to isMuted() and other coding-style fixes - - * src/gui/widgets/automatable_slider.cpp: - * src/gui/widgets/lcd_spinbox.cpp: - * src/gui/widgets/automatable_button.cpp: - use automatableModelView::addDefaultActions() - - * src/gui/widgets/tooltip.cpp: - re-enabled tooltips - - * include/track.h: - * include/track_container.h: - * src/core/track.cpp: - * data/themes/default/led_red.png: - added fully-functional solo-button - - * include/automation_editor.h: - * src/gui/automation_editor.cpp: - fixed broken automation-drawing for floatModels - - * configure.in: - * Makefile.am: - support for building win32-version with OGG/vorbis-support - - * src/gui/main_window.cpp: - added separator in edit-menu - - * src/core/config_mgr.cpp: - fixed paths for win32-build - - * src/core/sample_buffer.cpp: - fixed platform-dependent sampleBuffer::tryToMakeAbsolute(...) - - * lmms.rc.in: - * Makefile.am: - * data/lmms.ico: - added icon and resource-file - - * Makefile.am: - added win32-pkg target - -2008-06-02 Paul Giblock - - * plugins/sf2_player/sf2_player.cpp: - * plugins/sf2_player/sf2_player.h: - * src/gui/main_window.cpp: - Support loading of sf2 files from the sidebar sample browser - - * include/knob.h: - * include/automatable_model_view.h: - * src/gui/automatable_model_view.cpp: - * src/gui/widgets/knob.cpp: - * Makefile.am: - - move context menu stuff to automatableModelView - - add automatableModelViewSlots for slots we may wish to call from AMV - - * include/midi_controller.h: - code style - - * src/core/midi/midi_controller.cpp: - name midiControllers after their channel/controller - - * src/gui/widgets/fader.cpp: - Use default context menu - - * src/gui/controller_connection_dialog.cpp: - don't choose the controller if the user didn't actually choose anything - -2008-06-02 Tobias Doerffel - - * src/core/mixer.cpp: - try all audio-drivers at startup even if dummy-driver is selected - - * configure.in: - * Makefile.am: - properly link against win32-libsndfile - - * plugins/patman/patman.cpp: - * plugins/patman/Makefile.am: - * plugins/ladspa_effect/ladspa_effect.cpp: - * plugins/ladspa_effect/caps/Makefile.am: - * plugins/ladspa_effect/Makefile.am: - * plugins/organic/organic.cpp: - * plugins/organic/Makefile.am: - * plugins/lb302/lb302.cpp: - * plugins/lb302/Makefile.am: - * plugins/bass_booster/bass_booster.cpp: - * plugins/bass_booster/Makefile.am: - * plugins/stereo_matrix/stereo_matrix.cpp: - * plugins/stereo_matrix/Makefile.am: - * plugins/bit_invader/bit_invader.cpp: - * plugins/bit_invader/Makefile.am: - * plugins/vibed/Makefile.am: - * plugins/vibed/vibed.cpp: - * plugins/live_tool/Makefile.am: - * plugins/live_tool/live_tool.cpp: - * plugins/stereo_enhancer/stereo_enhancer.cpp: - * plugins/stereo_enhancer/Makefile.am: - * plugins/sf2_player/patches_dialog.cpp: - * plugins/sf2_player/sf2_player.cpp: - * plugins/sf2_player/Makefile.am: - * plugins/sf2_player/patches_dialog.h: - * plugins/ladspa_browser/ladspa_browser.cpp: - * plugins/ladspa_browser/Makefile.am: - * plugins/ladspa_browser/ladspa_browser.h: - * plugins/kicker/Makefile.am: - * plugins/kicker/kicker.cpp: - * plugins/flp_import/Makefile.am: - * plugins/flp_import/flp_import.cpp: - * plugins/midi_import/Makefile.am: - * plugins/midi_import/midi_import.cpp: - build win32-DLLs properly - - * include/mmp.h: - * include/effect.h: - * include/lcd_spinbox.h: - * include/engine.h: - * include/embed.h: - * include/bb_track_container.h: - * include/config_mgr.h: - * include/import_filter.h: - * include/ladspa_manager.h: - * include/ladspa_control.h: - * include/automation_pattern.h: - * include/graph.h: - * include/effect_control_dialog.h: - * include/pattern.h: - * include/string_pair_drag.h: - * include/caption_menu.h: - * include/envelope_and_lfo_parameters.h: - * include/bb_track.h: - * include/project_notes.h: - * include/export.h: - * include/tooltip.h: - * include/ladspa_control_view.h: - * include/journalling_object.h: - * include/tool.h: - * include/tab_bar.h: - * include/types.h: - * include/mv_base.h: - * include/track_container.h: - * include/led_checkbox.h: - * include/ladspa_2_lmms.h: - * src/3rdparty/samplerate/samplerate.h: - export more symbols in order to build all plugins - - * configure.in: - added code for detecting fluidsynth-DLL - - * src/core/config_mgr.cpp: - customized path to LADSPA-plugins under win32 - - * src/core/midi/midi_alsa_seq.cpp: - do not free port_info-structure before actually (un)subscribing - - fixes non-working automatic port-subscription - - * src/core/ladspa_manager.cpp: - win32-compat - - * src/core/instrument_midi_io.cpp: - coding style - -2008-06-02 Paul Giblock - - * include/automatable_model.h: - * include/controller_connection.h: - * src/core/automatable_model.cpp: - * src/core/controller_connection.cpp: - Support for automatic deletion of controller if owned by connection - - * include/controller.h: - * include/midi_controller.h: - * include/controller_connection_dialog.h: - * src/gui/widgets/knob.cpp: - * src/gui/controller_connection_dialog.cpp: - * src/core/midi/midi_controller.cpp: - * src/core/controller.cpp: - * Makefile.am: - - Add midi-controller support - - Allow editing of connection through context menu - - Code clean-up - - * include/midi.h: - add const for max controller ID and add bytes array to the midiEvent - m_data union - - * src/core/midi/midi_client.cpp: - Don't subtract octave from control change events - - * src/tracks/instrument_track.cpp: - Ignore unhandled control change events - - * src/tracks/pattern.cpp: - Minor pixel adjustment to TCO drawing - - * src/core/track.cpp: - Correct misleading textFloat - - * src/core/song.cpp: - Code style - -2008-06-01 Paul Giblock - - * src/tracks/pattern.cpp: - Improve drawing of tact lines, so it is more obvious where a pattern - ends - - * src/core/track.cpp: - Display floating text underneith the current track so you can actually - see what you are doing - - * src/core/config_mgr.cpp: - Gracefully handle default lmmsrc.xml creation instead of aborting - -2008-06-01 Tobias Doerffel - - * plugins/ladspa_effect/caps/basics.h: - * plugins/ladspa_effect/caps/interface.cc: - win32-build fixes - - * plugins/triple_oscillator/Makefile.am: - * plugins/triple_oscillator/triple_oscillator.cpp: - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/audio_file_processor/Makefile.am: - made ready for building plugins as DLLs - - * plugins/kicker/kicker.h: - include QtCore/QObject rather than QObject - - * include/mmp.h: - * include/knob.h: - * include/track.h: - * include/engine.h: - * include/note.h: - * include/embed.h: - * include/instrument_view.h: - * include/config_mgr.h: - * include/automatable_model.h: - * include/mixer.h: - * include/instrument_track.h: - * include/instrument.h: - * include/sample_buffer.h: - * include/plugin.h: - * include/note_play_handle.h: - * include/song.h: - * include/string_pair_drag.h: - * include/oscillator.h: - * include/automatable_button.h: - * include/tooltip.h: - * include/journalling_object.h: - * include/pixmap_button.h: - * include/automatable_model_view.h: - * include/mv_base.h: - * include/volume_knob.h: - * include/plugin_view.h: - export according classes for making them accessibly by plugins - - * src/core/main.cpp: - dont set opacity for splashscreen - - * src/core/config_mgr.cpp: - customized paths for win32 (plugins in same directory as executable) - - * src/core/song.cpp: - initialize m_length member to 0 - - * src/core/plugin.cpp: - under win32 filter for DLL-files - - * include/types.h: - added macros for export-declaration - - * src/gui/plugin_browser.cpp: - * src/gui/effect_select_dialog.cpp: - * src/gui/main_window.cpp: - * src/core/track.cpp: - minor coding style issues - - * build_mingw32: - * acinclude.m4: - * Makefile.am: - better support for win32-builds - - * buildtools/bin2res.cpp: - open files in binary mode - fixes win32-build - - * configure.in: - * Makefile.am: - * include/audio_pulseaudio.h: - * src/core/audio/audio_pulseaudio.cpp: - * src/core/mixer.cpp: - * src/gui/setup_dialog.cpp: - added PulseAudio-support - -2008-05-30 Paul Giblock - - * src/gui/piano_roll.cpp: - - Improve selection of volume-bars on a chord. Select closest note - instead of whichever one was created first. - - Display volume-change handles on top of the bars instead of possibly - underneith other bars when dealing with chords - - * AUTHORS: - Add Juan (Fabi) to authors, organize names more alphabetically - -2008-05-30 Tobias Doerffel - - * plugins/ladspa_effect/ladspa_effect.cpp: - fixed wrong item in effect blacklist - - * include/mixer.h: - * src/core/mixer.cpp: - use less complex worker-thread-synchronization - -2008-05-29 Tobias Doerffel - - * src/core/mixer.cpp: - use QAtomicInt instead of volatile bool + queue-global mutex for - worker-thread jobqueues - -2008-05-28 Tobias Doerffel - - * plugins/organic/organic.cpp: - * plugins/lb302/lb302.cpp: - * plugins/bass_booster/bass_booster.cpp: - * plugins/bass_booster/bassbooster_controls.cpp: - * plugins/stereo_matrix/stereomatrix_controls.cpp: - * plugins/vibed/nine_button_selector.h: - * plugins/vibed/nine_button_selector.cpp: - * plugins/vibed/vibed.cpp: - * plugins/triple_oscillator/triple_oscillator.cpp: - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/stereo_enhancer/stereoenhancer_controls.cpp: - * plugins/sf2_player/sf2_player.cpp: - * plugins/kicker/kicker.cpp: - * plugins/midi_import/midi_import.cpp: - * include/knob.h: - * include/automatable_slider.h: - * include/lcd_spinbox.h: - * include/automatable_model.h: - * include/combobox_model.h: - * include/automation_pattern.h: - * include/note_play_handle.h: - * include/detuning_helper.h: - * include/group_box.h: - * include/automatable_button.h: - * include/automatable_model_templates.h: - * include/level_object.h: - * include/automatable_model_view.h: - * include/fader.h: - * include/combobox.h: - * src/gui/piano_roll.cpp: - * src/gui/automatable_model_view.cpp: - * src/gui/widgets/combobox.cpp: - * src/gui/widgets/knob.cpp: - * src/gui/widgets/envelope_and_lfo_view.cpp: - * src/gui/widgets/automatable_slider.cpp: - * src/gui/widgets/group_box.cpp: - * src/gui/widgets/lcd_spinbox.cpp: - * src/gui/widgets/volume_knob.cpp: - * src/gui/widgets/fader.cpp: - * src/gui/widgets/tempo_sync_knob.cpp: - * src/gui/widgets/automatable_button.cpp: - * src/gui/automation_editor.cpp: - * src/tracks/instrument_track.cpp: - * src/core/effect_chain.cpp: - * src/core/note_play_handle.cpp: - * src/core/song.cpp: - * src/core/automatable_model.cpp: - * src/core/audio/audio_alsa.cpp: - * src/core/audio/audio_oss.cpp: - * src/core/audio/audio_jack.cpp: - * src/core/envelope_and_lfo_parameters.cpp: - * src/core/combobox_model.cpp: - * src/core/meter_model.cpp: - * src/core/instrument_functions.cpp: - * src/core/instrument_midi_io.cpp: - * src/core/track.cpp: - * src/core/ladspa_control.cpp: - * src/core/note.cpp: - * src/core/piano.cpp: - * src/core/surround_area.cpp: - * src/core/automation_pattern.cpp: - * src/core/lfo_controller.cpp: - * Makefile.am: - reworked automatableModel (not template-based anymore), removed - levelObject, splitted comboBox/comboBoxModel-source-files, began to - unify context-menu-creation for controls - - diffstat: 63 files changed, 1145 insertions(+), 1170 deletions(-) - -2008-05-27 Paul Giblock - - * plugins/sf2_player/sf2_player.cpp: - restore gain setting when loading a project and keep gain setting when - changing sample rate - - * include/controller_view.h: - * src/gui/widgets/controller_view.cpp: - reverted toby's controllerView changes. - - * src/core/mmp.cpp: - add compat-code for time-signature support - -2008-05-26 Tobias Doerffel - - * include/controller_view.h: - * src/gui/widgets/controller_view.cpp: - made LMMS compile + cleanups - -2008-05-26 Paul Giblock - - * include/automatable_model.h: - * include/automatable_model_templates.h: - * include/controller.h: - * include/controller_connection.h: - * src/gui/widgets/knob.cpp: - * src/core/song.cpp: - * src/core/controller.cpp: - * src/core/controller_connection.cpp: - * Makefile.am: - - add controller connection class for storing controller links. Used to - specify linkage for loading/saving as well as a model for all the options - in the dialog (mapping function, smoothing, etc..) - - add dummyController for unfinalized or missing controllers. Faster than - adding a branch to value() or currentValue() - - save controller links to project - - incomplete, experimental! - - * include/controller_view.h: - * src/gui/lfo_controller_dialog.cpp: - * src/gui/widgets/controller_rack_view.cpp: - * data/themes/default/controller_bg.png: - Show name in controller view and make it renamable - - * data/themes/default/style.css: - A hint of blue in menu highlight - - * src/core/song.cpp: - Add data-changed event so lfo-rack can update - -2008-05-25 Tobias Doerffel - - * plugins/singerbot/singerbot.cpp: - * include/meter_model.h: - * include/song.h: - * include/pattern.h: - * include/piano_roll.h: - * include/song_editor.h: - * include/midi_time.h: - * include/types.h: - * include/timeline.h: - * src/core/bb_track_container.cpp: - * src/core/meter_model.cpp: - * src/core/song.cpp: - * src/core/timeline.cpp: - * src/core/track.cpp: - * src/gui/automation_editor.cpp: - * src/gui/piano_roll.cpp: - * src/gui/song_editor.cpp: - * src/gui/track_container_view.cpp: - * src/gui/widgets/tempo_sync_knob.cpp: - * src/tracks/bb_track.cpp: - * src/tracks/pattern.cpp: - implemented support for time-signatures other than 4/4 - still - incomplete and experimental! - - * include/controller_dialog.h: - * src/core/lfo_controller.cpp: - * src/gui/controller_dialog.cpp: - * src/gui/widgets/controller_view.cpp: - fixed order of member-initialization and miscellanous coding-style - corrections - - * plugins/patman/select_file.png: - * plugins/patman/logo.png: - * plugins/patman/artwork.png: - * plugins/ladspa_effect/logo.png: - * plugins/organic/logo.png: - * plugins/organic/randomise.png: - * plugins/organic/randomise_pressed.png: - * plugins/organic/artwork.png: - * plugins/lb302/artwork.png: - * plugins/bass_booster/logo.png: - * plugins/stereo_matrix/logo.png: - * plugins/bit_invader/logo.png: - * plugins/bit_invader/wavegraph.png: - * plugins/bit_invader/wavegraph3.png: - * plugins/bit_invader/artwork.png: - * plugins/bit_invader/smooth.png: - * plugins/vst_effect/logo.png: - * plugins/vibed/button_7_on.png: - * plugins/vibed/button_9_on.png: - * plugins/vibed/logo.png: - * plugins/vibed/button_-1_off.png: - * plugins/vibed/button_-2_off.png: - * plugins/vibed/button_-1_on.png: - * plugins/vibed/smooth_active.png: - * plugins/vibed/wavegraph4.png: - * plugins/vibed/button_f_off.png: - * plugins/vibed/button_f_on.png: - * plugins/vibed/button_up.png: - * plugins/vibed/normalize_inactive.png: - * plugins/vibed/button_1_off.png: - * plugins/vibed/button_2_off.png: - * plugins/vibed/button_3_off.png: - * plugins/vibed/button_2_on.png: - * plugins/vibed/button_4_off.png: - * plugins/vibed/artwork.png: - * plugins/vibed/button_5_off.png: - * plugins/vibed/button_6_off.png: - * plugins/vibed/button_4_on.png: - * plugins/vibed/normalize_active.png: - * plugins/vibed/button_7_off.png: - * plugins/vibed/button_8_off.png: - * plugins/vibed/button_6_on.png: - * plugins/vibed/button_9_off.png: - * plugins/vibed/button_8_on.png: - * plugins/vibed/button_down.png: - * plugins/vibed/button_-2_on.png: - * plugins/vibed/button_1_on.png: - * plugins/vibed/button_3_on.png: - * plugins/vibed/button_5_on.png: - * plugins/vibed/smooth_inactive.png: - * plugins/triple_oscillator/logo.png: - * plugins/triple_oscillator/am_active.png: - * plugins/triple_oscillator/artwork.png: - * plugins/triple_oscillator/sync_inactive.png: - * plugins/triple_oscillator/sync_active.png: - * plugins/live_tool/logo.png: - * plugins/live_tool/artwork.png: - * plugins/singerbot/logo.png: - * plugins/singerbot/artwork.png: - * plugins/audio_file_processor/select_file.png: - * plugins/audio_file_processor/logo.png: - * plugins/audio_file_processor/artwork.png: - * plugins/stk/mallets/logo.png: - * plugins/stk/mallets/artwork.png: - * plugins/stk/voices/flute/logo.png: - * plugins/stk/voices/flute/artwork.png: - * plugins/stk/voices/resonate/logo.png: - * plugins/stk/voices/resonate/artwork.png: - * plugins/stk/voices/wurley/logo.png: - * plugins/stk/voices/wurley/artwork.png: - * plugins/stk/voices/percflute/logo.png: - * plugins/stk/voices/percflute/artwork.png: - * plugins/stk/voices/rhodey/logo.png: - * plugins/stk/voices/rhodey/artwork.png: - * plugins/stk/voices/tubebell/logo.png: - * plugins/stk/voices/tubebell/artwork.png: - * plugins/stk/voices/bowed/logo.png: - * plugins/stk/voices/bowed/artwork.png: - * plugins/stk/voices/clarinet/logo.png: - * plugins/stk/voices/clarinet/artwork.png: - * plugins/stk/voices/moog/logo.png: - * plugins/stk/voices/moog/artwork.png: - * plugins/stk/voices/metal/logo.png: - * plugins/stk/voices/metal/artwork.png: - * plugins/stk/voices/b3/logo.png: - * plugins/stk/voices/b3/artwork.png: - * plugins/stk/voices/blow_hole/logo.png: - * plugins/stk/voices/blow_hole/artwork.png: - * plugins/stk/voices/brass/logo.png: - * plugins/stk/voices/brass/artwork.png: - * plugins/stk/voices/fmvoices/logo.png: - * plugins/stk/voices/fmvoices/artwork.png: - * plugins/stk/voices/bandedwg/logo.png: - * plugins/stk/voices/bandedwg/artwork.png: - * plugins/stk/voices/blow_bottle/logo.png: - * plugins/stk/voices/blow_bottle/artwork.png: - * plugins/plucked_string_synth/logo.png: - * plugins/plucked_string_synth/artwork.png: - * plugins/stereo_enhancer/logo.png: - * plugins/sf2_player/logo.png: - * plugins/sf2_player/artwork.png: - * plugins/vestige/select_file.png: - * plugins/vestige/logo.png: - * plugins/vestige/artwork.png: - * plugins/ladspa_browser/logo.png: - * plugins/kicker/logo.png: - * plugins/kicker/artwork.png: - * plugins/polyb302/artwork.png: - * data/themes/blue_scene/led_off.png: - * data/themes/blue_scene/back_to_zero.png: - * data/themes/blue_scene/project_export.png: - * data/themes/blue_scene/hourglass.png: - * data/themes/blue_scene/triangle_wave_inactive.png: - * data/themes/blue_scene/hq_mode.png: - * data/themes/blue_scene/usr_wave_inactive.png: - * data/themes/blue_scene/main_toolbar_bg.png: - * data/themes/blue_scene/add_bb_track.png: - * data/themes/blue_scene/tempo_sync.png: - * data/themes/blue_scene/edit_paste.png: - * data/themes/blue_scene/midi_file.png: - * data/themes/blue_scene/analysis.png: - * data/themes/blue_scene/zoom.png: - * data/themes/blue_scene/playpos_marker.png: - * data/themes/blue_scene/wizard_workingdir.png: - * data/themes/blue_scene/step_btn_off_light.png: - * data/themes/blue_scene/square_wave_inactive.png: - * data/themes/blue_scene/auto_limit.png: - * data/themes/blue_scene/exp_wave_active.png: - * data/themes/blue_scene/exit.png: - * data/themes/blue_scene/step_btn_on.png: - * data/themes/blue_scene/toolbar_bg.png: - * data/themes/blue_scene/keep_stop_position.png: - * data/themes/blue_scene/whatsthis.png: - * data/themes/blue_scene/output_graph.png: - * data/themes/blue_scene/wizard_files.png: - * data/themes/blue_scene/note_none.png: - * data/themes/blue_scene/black_key.png: - * data/themes/blue_scene/text_center.png: - * data/themes/blue_scene/stop.png: - * data/themes/blue_scene/error.png: - * data/themes/blue_scene/sin_wave_inactive.png: - * data/themes/blue_scene/loop_points_on.png: - * data/themes/blue_scene/play.png: - * data/themes/blue_scene/folder_opened.png: - * data/themes/blue_scene/mute_on.png: - * data/themes/blue_scene/ports.png: - * data/themes/blue_scene/project_saveas.png: - * data/themes/blue_scene/loop_point_disabled.png: - * data/themes/blue_scene/folder.png: - * data/themes/blue_scene/arp_random_on.png: - * data/themes/blue_scene/arp_sync.png: - * data/themes/blue_scene/edit_copy.png: - * data/themes/blue_scene/white_noise_wave_inactive.png: - * data/themes/blue_scene/track_op_grip.png: - * data/themes/blue_scene/background_artwork.png: - * data/themes/blue_scene/help.png: - * data/themes/blue_scene/unknown_file.png: - * data/themes/blue_scene/edit_redo.png: - * data/themes/blue_scene/exp_wave_inactive.png: - * data/themes/blue_scene/arp_down_on.png: - * data/themes/blue_scene/project_file.png: - * data/themes/blue_scene/sample_track.png: - * data/themes/blue_scene/note_quarter.png: - * data/themes/blue_scene/surround_area.png: - * data/themes/blue_scene/black_key_pressed.png: - * data/themes/blue_scene/project_notes.png: - * data/themes/blue_scene/project_new.png: - * data/themes/blue_scene/master_pitch.png: - * data/themes/blue_scene/edit_select.png: - * data/themes/blue_scene/track_op_menu.png: - * data/themes/blue_scene/colorize.png: - * data/themes/blue_scene/white_key.png: - * data/themes/blue_scene/splash.png: - * data/themes/blue_scene/note_double_whole.png: - * data/themes/blue_scene/envelope_graph.png: - * data/themes/blue_scene/saw_wave_inactive.png: - * data/themes/blue_scene/note_sixteenth.png: - * data/themes/blue_scene/lfo_graph.png: - * data/themes/blue_scene/frozen.png: - * data/themes/blue_scene/effect_board.png: - * data/themes/blue_scene/arp_down_off.png: - * data/themes/blue_scene/mute_off.png: - * data/themes/blue_scene/reload.png: - * data/themes/blue_scene/text_italic.png: - * data/themes/blue_scene/arp_random_off.png: - * data/themes/blue_scene/pause.png: - * data/themes/blue_scene/freeze.png: - * data/themes/blue_scene/triangle_wave_active.png: - * data/themes/blue_scene/combobox_arrow.png: - * data/themes/blue_scene/root.png: - * data/themes/blue_scene/apply.png: - * data/themes/blue_scene/usr_wave_active.png: - * data/themes/blue_scene/icon.png: - * data/themes/blue_scene/clock.png: - * data/themes/blue_scene/setup_directories.png: - * data/themes/blue_scene/text_left.png: - * data/themes/blue_scene/text_block.png: - * data/themes/blue_scene/plugins/tripleoscillator_fm_inactive.png: - * data/themes/blue_scene/plugins/bitinvader_artwork.png: - * data/themes/blue_scene/plugins/tripleoscillator_mix_active.png: - * data/themes/blue_scene/plugins/tripleoscillator_am_active.png: - * data/themes/blue_scene/plugins/tripleoscillator_artwork.png: - * data/themes/blue_scene/plugins/bitinvader_logo.png: - * data/themes/blue_scene/plugins/tripleoscillator_fm_active.png: - * data/themes/blue_scene/plugins/tripleoscillator_sync_inactive.png: - * data/themes/blue_scene/plugins/audiofileprocessor_artwork.png: - * data/themes/blue_scene/plugins/bitinvader_wavegraph3.png: - * data/themes/blue_scene/plugins/vestige_artwork.png: - * data/themes/blue_scene/plugins/bitinvader_smooth.png: - * data/themes/blue_scene/plugins/audiofileprocessor_logo.png: - * data/themes/blue_scene/plugins/tripleoscillator_sync_active.png: - * data/themes/blue_scene/plugins/pluckedstringsynth_logo.png: - * data/themes/blue_scene/plugins/audiofileprocessor_loop_off.png: - * data/themes/blue_scene/plugins/audiofileprocessor_reverse_off.png: - * data/themes/blue_scene/plugins/audiofileprocessor_loop_on.png: - * data/themes/blue_scene/plugins/vestige_logo.png: - * data/themes/blue_scene/plugins/tripleoscillator_am_inactive.png: - * data/themes/blue_scene/plugins/tripleoscillator_mix_inactive.png: - * data/themes/blue_scene/plugins/bitinvader_wavegraph.png: - * data/themes/blue_scene/cpuload_bg.png: - * data/themes/blue_scene/note_half.png: - * data/themes/blue_scene/wizard.png: - * data/themes/blue_scene/preset_file.png: - * data/themes/blue_scene/hint.png: - * data/themes/blue_scene/note.png: - * data/themes/blue_scene/timeline.png: - * data/themes/blue_scene/bb_track.png: - * data/themes/blue_scene/white_key_pressed.png: - * data/themes/blue_scene/arp_up_off.png: - * data/themes/blue_scene/autoscroll_off.png: - * data/themes/blue_scene/setup_audio.png: - * data/themes/blue_scene/text_right.png: - * data/themes/blue_scene/project_open.png: - * data/themes/blue_scene/arp_up_and_down_off.png: - * data/themes/blue_scene/note_eighth.png: - * data/themes/blue_scene/note_whole.png: - * data/themes/blue_scene/note_thirtysecond.png: - * data/themes/blue_scene/edit_erase.png: - * data/themes/blue_scene/sin_wave_active.png: - * data/themes/blue_scene/saw_wave_active.png: - * data/themes/blue_scene/rename.png: - * data/themes/blue_scene/drum.png: - * data/themes/blue_scene/edit_undo.png: - * data/themes/blue_scene/edit_move.png: - * data/themes/blue_scene/wizard_intro.png: - * data/themes/blue_scene/add_sample_track.png: - * data/themes/blue_scene/combobox_bg.png: - * data/themes/blue_scene/setup_performance.png: - * data/themes/blue_scene/loop_point.png: - * data/themes/blue_scene/autoscroll_on.png: - * data/themes/blue_scene/unfreeze.png: - * data/themes/blue_scene/cancel.png: - * data/themes/blue_scene/sound_file.png: - * data/themes/blue_scene/arp_sort.png: - * data/themes/blue_scene/white_noise_wave_active.png: - * data/themes/blue_scene/arp_up_and_down_on.png: - * data/themes/blue_scene/folder_locked.png: - * data/themes/blue_scene/setup_general.png: - * data/themes/blue_scene/loop_points_off.png: - * data/themes/blue_scene/setup_midi.png: - * data/themes/blue_scene/uhoh.png: - * data/themes/blue_scene/step_btn_off.png: - * data/themes/blue_scene/songeditor.png: - * data/themes/blue_scene/square_wave_active.png: - * data/themes/blue_scene/project_open_down.png: - * data/themes/blue_scene/moog_saw_wave_inactive.png: - * data/themes/blue_scene/back_to_start.png: - * data/themes/blue_scene/text_under.png: - * data/themes/blue_scene/arp_up_on.png: - * data/themes/blue_scene/arp_free.png: - * data/themes/blue_scene/moog_saw_wave_active.png: - * data/themes/blue_scene/home.png: - * data/themes/blue_scene/knob01.png: - * data/themes/default/lcd_19green.png: - * data/themes/default/knob03.png: - * data/themes/default/back_to_zero.png: - * data/themes/default/edit_draw.png: - * data/themes/default/triangle_wave_inactive.png: - * data/themes/default/filter_hp.png: - * data/themes/default/zoom_y.png: - * data/themes/default/usr_wave_inactive.png: - * data/themes/default/muted.png: - * data/themes/default/add_bb_track.png: - * data/themes/default/fader_background.png: - * data/themes/default/tempo_sync.png: - * data/themes/default/plugins.png: - * data/themes/default/midi_file.png: - * data/themes/default/analysis.png: - * data/themes/default/zoom.png: - * data/themes/default/edit_arrow.png: - * data/themes/default/wizard_workingdir.png: - * data/themes/default/lcd_19red.png: - * data/themes/default/toolbar_bg.png: - * data/themes/default/whatsthis.png: - * data/themes/default/filter_notch.png: - * data/themes/default/output_graph.png: - * data/themes/default/wizard_files.png: - * data/themes/default/controller.png: - * data/themes/default/note_none.png: - * data/themes/default/black_key.png: - * data/themes/default/stop.png: - * data/themes/default/fader_knob.png: - * data/themes/default/mute_off_disabled.png: - * data/themes/default/mute_on_disabled.png: - * data/themes/default/sin_wave_inactive.png: - * data/themes/default/play.png: - * data/themes/default/folder_opened.png: - * data/themes/default/filter_bp.png: - * data/themes/default/ports.png: - * data/themes/default/loop_point_disabled.png: - * data/themes/default/folder.png: - * data/themes/default/arp_random_on.png: - * data/themes/default/arp_sync.png: - * data/themes/default/automation.png: - * data/themes/default/white_noise_wave_inactive.png: - * data/themes/default/track_op_grip.png: - * data/themes/default/pr_black_key.png: - * data/themes/default/help.png: - * data/themes/default/background_artwork.png: - * data/themes/default/factory_files.png: - * data/themes/default/unknown_file.png: - * data/themes/default/exp_wave_inactive.png: - * data/themes/default/project_file.png: - * data/themes/default/arp_down_on.png: - * data/themes/default/piano.png: - * data/themes/default/midi_in.png: - * data/themes/default/black_key_pressed.png: - * data/themes/default/surround_area.png: - * data/themes/default/track_op_menu_disabled.png: - * data/themes/default/project_new.png: - * data/themes/default/master_pitch.png: - * data/themes/default/led_green.png: - * data/themes/default/edit_select.png: - * data/themes/default/colorize.png: - * data/themes/default/white_key.png: - * data/themes/default/knob02.png: - * data/themes/default/note_double_whole.png: - * data/themes/default/envelope_graph.png: - * data/themes/default/saw_wave_inactive.png: - * data/themes/default/lfo_graph.png: - * data/themes/default/groupbox_led_bg.png: - * data/themes/default/frozen.png: - * data/themes/default/arp_down_off.png: - * data/themes/default/effect_board.png: - * data/themes/default/reload.png: - * data/themes/default/zoom_x.png: - * data/themes/default/pause.png: - * data/themes/default/freeze.png: - * data/themes/default/filter_lp.png: - * data/themes/default/combobox_arrow.png: - * data/themes/default/triangle_wave_active.png: - * data/themes/default/root.png: - * data/themes/default/apply.png: - * data/themes/default/usr_wave_active.png: - * data/themes/default/icon.png: - * data/themes/default/clock.png: - * data/themes/default/add_controller.png: - * data/themes/default/setup_directories.png: - * data/themes/default/cpuload_bg.png: - * data/themes/default/quantize.png: - * data/themes/default/wizard.png: - * data/themes/default/preset_file.png: - * data/themes/default/hint.png: - * data/themes/default/filter_ap.png: - * data/themes/default/timeline.png: - * data/themes/default/bb_track.png: - * data/themes/default/effect_plugin.png: - * data/themes/default/white_key_pressed.png: - * data/themes/default/arp_up_off.png: - * data/themes/default/autoscroll_off.png: - * data/themes/default/setup_audio.png: - * data/themes/default/arp_up_and_down_off.png: - * data/themes/default/combobox_arrow_selected.png: - * data/themes/default/cpuload_leds.png: - * data/themes/default/note_whole.png: - * data/themes/default/edit_erase.png: - * data/themes/default/wizard_intro.png: - * data/themes/default/add_sample_track.png: - * data/themes/default/combobox_bg.png: - * data/themes/default/setup_performance.png: - * data/themes/default/sound_file.png: - * data/themes/default/arp_sort.png: - * data/themes/default/white_noise_wave_active.png: - * data/themes/default/arp_up_and_down_on.png: - * data/themes/default/controller_bg.png: - * data/themes/default/folder_locked.png: - * data/themes/default/setup_general.png: - * data/themes/default/loop_points_off.png: - * data/themes/default/filter_2lp.png: - * data/themes/default/setup_midi.png: - * data/themes/default/uhoh.png: - * data/themes/default/midi_out.png: - * data/themes/default/songeditor.png: - * data/themes/default/moog_saw_wave_inactive.png: - * data/themes/default/arp_free.png: - * data/themes/default/home.png: - * data/themes/default/fader_leds.png: - * data/themes/default/knob01.png: - * data/themes/llama/background_artwork.png: - shrinked file-sizes via optipng - - * include/main_window.h: - * src/gui/main_window.cpp: - * src/core/main.cpp: - * data/themes/default/splash.png: - new transparent splash-screen without obsolete text-messages - -2008-05-25 Paul Giblock - - * include/embed.h: - Fix missing distructor warning - - * include/controller.h: - * include/song.h: - * include/lfo_controller.h: - * src/core/controller.cpp: - * src/core/lfo_controller.cpp: - Save and load controllers to project files. - - * src/core/song.cpp: - - Save and load controllers to project files. - - emit dataChanged() on clearProject() do we need this anywhere else? - -2008-05-24 Tobias Doerffel - - * include/song.h: - * include/song_editor.h: - * src/core/song.cpp: - * src/gui/song_editor.cpp: - added meterModel and meterDialog (which actually is just a widget) as - preparation for time-signature-support - it doesn't actually work yet! - - * data/themes/default/style.css: - improved appearence of menu in general - - * Makefile.am: - * include/tempo_sync_knob.h: - * include/meter_model.h: - * include/meter_dialog.h: - * src/core/meter_model.cpp: - * src/gui/widgets/meter_dialog.cpp: - splitted source-files for meterModel and meterDialog and added - "simple"-mode for meterDialog - -2008-05-22 Paul Giblock - - * include/lfo_controller.h: - * src/gui/lfo_controller_dialog.cpp: - * src/core/lfo_controller.cpp: - Add more wave shapes to LFO controller - - * src/gui/widgets/controller_view.cpp: - Set sub-window's icon to the icon of the controllerDialog - - * src/gui/widgets/controller_rack_view.cpp: - Add icon to window - -2008-05-21 Paul Giblock - - * plugins/sf2_player/Makefile.am: - * plugins/Makefile.am: - * configure.in: - Add fluidsynth detection to configure - -2008-05-21 Paul Giblock - - * plugins/vestige/select_file.png: - * plugins/vestige/logo.png: - * plugins/vestige/vestige.cpp: - * plugins/vestige/artwork.png: - Integrate new vestige artwork - - * src/core/track.cpp: - Improve background drawing/scaling - - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/audio_file_processor/select_file.png: - * plugins/audio_file_processor/logo.png: - * plugins/audio_file_processor/loop_off.png: - * plugins/audio_file_processor/loop_on.png: - * plugins/audio_file_processor/reverse_off.png: - * plugins/audio_file_processor/reverse_on.png: - * plugins/audio_file_processor/artwork.png: - Integrate new audio file processor artwork - - * src/gui/widgets/volume_knob.cpp: - Fix placement of tooltop in styled knobs - - * src/gui/widgets/knob.cpp: - Minor graphical enhancement for styled knobs - - * src/gui/piano_roll.cpp: - * include/piano_roll.h: - * data/themes/default/record_accompany.png: - - Fix annoying bug where changing patterns would scroll to bar 2 instead - of bar 1 - - Add record-with-accompaniment feature because it was easier to just add - a toolbutton then to strip out the code. At least now there is some - starting point for this feature should we ever decide to release it. - - * plugins/organic/organic.cpp: - * plugins/organic/organic.h: - Complete organic gui - - * data/themes/default/style.css: - AFP and organic knob styles - - * plugins/sf2_player/artwork.png: - New sf2-player artwork - -2008-05-21 Tobias Doerffel - - * src/core/main.cpp: - only create core-application for --help and -h - - * plugins/ladspa_effect/ladspa_effect.cpp: - * plugins/patman/patman.cpp: - * plugins/lb302/lb302.cpp: - * plugins/organic/organic.cpp: - * plugins/stereo_matrix/stereo_matrix.cpp: - * plugins/bass_booster/bass_booster.cpp: - * plugins/bit_invader/bit_invader.cpp: - * plugins/vst_effect/vst_effect.cpp: - * plugins/vibed/vibed.cpp: - * plugins/triple_oscillator/triple_oscillator.cpp: - * plugins/singerbot/singerbot.cpp: - * plugins/live_tool/live_tool.cpp: - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/stk/mallets/mallets.cpp: - * plugins/stereo_enhancer/stereo_enhancer.cpp: - * plugins/sf2_player/sf2_player.cpp: - * plugins/vestige/vestige.cpp: - * plugins/vst_base/vst_base.cpp: - * plugins/ladspa_browser/ladspa_browser.cpp: - * plugins/kicker/kicker.cpp: - * plugins/Makefile.am: - * plugins/flp_import/flp_import.cpp: - * plugins/midi_import/midi_import.cpp: - * include/track.h: - * src/gui/piano_roll.cpp: - * src/gui/plugin_browser.cpp: - * src/gui/main_window.cpp: - * src/core/plugin.cpp: - * src/core/bb_track_container.cpp: - * src/core/tool.cpp: - * src/core/instrument_sound_shaping.cpp: - * src/core/instrument_functions.cpp: - * src/core/track.cpp: - * src/core/instrument.cpp: - use new pluginPixmapLoader - - * include/lmms_style.h: - * src/gui/lmms_style.cpp: - load stylesheet here - - * include/combobox.h: - * src/gui/widgets/combobox.cpp: - use pixmapLoader-pointers rather than QPixmap-pointers in comboBoxModel - - * include/plugin.h: - in plugin-descriptor, hold a pointer to pixmapLoader instead of - QPixmap itself - - * include/embed.h: - * src/gui/embed.cpp: - introduced pixmapLoader and pluginPixmapLoader-classes for abstracting - QPixmap-instantiation - models can hold pixmapLoaders without actually - instantiating a QPixmap-object and views can access the pixmap - - * src/gui/main_window.cpp: - removed settings-menu and moved setup-dialog to edit-menu - - * Makefile.am: - * include/config_mgr.h: - * src/core/config_mgr.cpp: - removed all the obsolete first-startup-wizard-code - -2008-05-19 Tobias Doerffel - - * configure.in: - * plugins/vst_base/lvsl_client.cpp: - call waitpid(...) when closing plugin - fixes zombie processes - - * plugins/vst_effect/vst_effect_controls.h: - * plugins/vst_effect/vst_subplugin_features.cpp: - * plugins/vst_effect/vst_subplugin_features.h: - * plugins/vst_effect/vst_effect_control_dialog.cpp: - * plugins/vst_effect/Makefile.am: - * plugins/vst_effect/vst_effect.cpp: - * plugins/vst_effect/vst_effect_controls.cpp: - * plugins/vst_effect/vst_effect_control_dialog.h: - * plugins/vst_effect/vst_effect.h: - * plugins/vst_base/lvsl_client.h: - * plugins/vst_base/lvsl_client.cpp: - finally made VST-effect plugin work - - * src/core/track_container.cpp: - * src/core/main.cpp: - when rendering from command-line, only create a QCoreApplication - needs - further work - - * include/config_mgr.h: - * src/gui/widgets/effect_rack_view.cpp: - minor coding-style stuff - - * plugins/singerbot/singerbot.h: - * plugins/singerbot/singerbot.cpp: - integrated patches from William Steidtmann - which makes Singerbot at least compile - doesn't seem to work yet though - -2008-05-19 Paul Giblock - - * triple_oscillator.cpp: - * am_active.png: - * am_inactive.png: - * artwork.png: - * btn_mask.png: - * exp_shape_active.png: - * exp_shape_inactive.png: - * fm_active.png: - * fm_inactive.png: - * logo.png: - * mix_active.png: - * mix_inactive.png: - * moog_saw_shape_active.png: - * moog_saw_shape_inactive.png: - * pm_active.png: - * pm_inactive.png: - * saw_shape_active.png: - * saw_shape_inactive.png: - * sin_shape_active.png: - * sin_shape_inactive.png: - * square_shape_active.png: - * square_shape_inactive.png: - * sync_active.png: - * sync_inactive.png: - * triangle_shape_active.png: - * triangle_shape_inactive.png: - * usr_shape_active.png: - * usr_shape_inactive.png: - * white_noise_shape_active.png: - * white_noise_shape_inactive.png: - Updated Triple-oscillator artwork - - * src/core/track.cpp: - Darkened the tracks so it doesn't hurt to look at - - * src/gui/lfo_controller_dialog.cpp: - * src/gui/widgets/controller_view.cpp: - Remove stray line - - * plugins/kicker/kicker.cpp: - * plugins/kicker/kicker.h: - * data/themes/default/style.css: - Including stylesheet changes I forgot to commit, fixes knobs in 3xOsc - -2008-05-18 Paul Giblock - - * src/gui/widgets/knob.cpp: - * include/knob.h: - First version of stylable knobs. Perhaps can be overlayed with current - knobs to add line coloring/width in other places around the GUI. - - * src/core/track.cpp: - - Re-enabled alternating background, better appearance AND performance - - Fixed more of the flickering by disabling updates when moving - - Toby will probably want to change background colors, I just used - something simple since it will end up changing probably. It do like the - gradient dark on top, looks like a "channel" or "groove". - - * plugins/patman/artwork.png: - Fixed artwork again - - * plugins/singerbot/artwork.png: - * plugins/singerbot/logo.png: - Updated SingerBot artwork - -2008-05-18 Tobias Doerffel - - * plugins/stk/mallets/mallets.cpp: - added missing initialization of member-variables which made Mallets - play nothing until GUI has been opened - - * include/bb_track.h: - * src/gui/widgets/combobox.cpp: - * src/gui/widgets/name_label.cpp: - * src/tracks/bb_track.cpp: - * src/tracks/pattern.cpp: - * data/themes/default/track_op_grip.png: - improved overall appearence - - * src/core/track.cpp: - - disabled flipped painting of track-view-BG - - optimized changePosition()-method for much faster drawing - - * src/gui/fx_mixer_view.cpp: - do not destroy FX-mixer-view when closing - - * plugins/ladspa_effect/ladspa_effect.cpp: - added "Notch Filter" to blacklist - - * plugins/ladspa_effect/ladspa_effect.h: - * plugins/ladspa_effect/ladspa_effect.cpp: - * plugins/bass_booster/bass_booster.cpp: - * plugins/stereo_matrix/stereo_matrix.cpp: - * plugins/stereo_enhancer/stereo_enhancer.cpp: - - replaced old code with effect::checkGate() call - - various cleanups and minor optimizations - - * src/core/effect_chain.cpp: - added debugging-code for determining buggy effect-plugins at higher - samplerates - - * include/plugin.h: - introduced changable publicName-property - - * include/effect.h: - * src/core/effect.cpp: - added checkGate()-function for reducing redundant code in effect-plugins - -2008-05-17 Tobias Doerffel - - * plugins/ladspa_effect/ladspa_effect.cpp: - * plugins/ladspa_effect/ladspa_effect.h: - improved handling of effects which only work at limited samplerates - - * include/audio_port.h: - * src/core/audio/audio_port.cpp: - small optimizations - - * src/core/mixer.cpp: - removed obsolete idle-property of worker-threads - - * src/core/fx_mixer.cpp: - protect individual buffers of FX-channels from being processed by more - than one thread - -2008-05-17 Paul Giblock - - * plugins/stereo_matrix/stereomatrix_controls.cpp: - Allow knobs to invert phase as well - - * plugins/patman/patman.cpp: - * plugins/patman/patman.h: - * plugins/patman/artwork.png: - * plugins/patman/loop_off.png: - * plugins/patman/loop_on.png: - * plugins/patman/tune_off.png: - * plugins/patman/tune_on.png: - * plugins/patman/select_file_on.png: - * plugins/patman/select_file.png: - - Integrate new patman artwork. - - Make file selection button highlight when clicked. - - * include/pixmap_button.h: - * src/gui/widgets/pixmap_button.cpp: - Make button pixmap "activate" on click - - * src/gui/widgets/automatable_button.cpp: - Noted bug in automatable button - - * src/gui/piano_roll.cpp: - Fix bug when trying to select note on first beat. However, still breaks - if the cursor moves quickly from right to left (i.e: if it skips the - pixel position) - -2008-05-14 Tobias Doerffel - - * include/project_renderer.h: - * src/core/main.cpp: - * src/core/project_renderer.cpp: - added a lot of options for rendering via command-line and finally made - it working with new projectRenderer-class - - * include/mixer.h: - removed 16x oversampling - -2008-05-13 Tobias Doerffel - - * include/track.h: - * include/pixmap_button.h: - * src/core/track.cpp: - * src/gui/widgets/pixmap_button.cpp: - toggle solo via Ctrl+left mouse button - - * src/gui/fx_mixer_view.cpp: - set window-icon - - * src/gui/widgets/tab_widget.cpp: - use colors from active palette - - * src/gui/widgets/project_notes.cpp: - hide per default - - * src/gui/main_window.cpp: - * src/core/timeline.cpp: - * data/themes/default/project_export.png: - * data/themes/default/hourglass.png: - * data/themes/default/hq_mode.png: - * data/themes/default/edit_paste.png: - * data/themes/default/text_bold.png: - * data/themes/default/project_save.png: - * data/themes/default/playpos_marker.png: - * data/themes/default/exit.png: - * data/themes/default/text_center.png: - * data/themes/default/error.png: - * data/themes/default/edit_cut.png: - * data/themes/default/mute_on.png: - * data/themes/default/project_saveas.png: - * data/themes/default/loop_point_disabled.png: - * data/themes/default/arp_random_on.png: - * data/themes/default/edit_copy.png: - * data/themes/default/edit_redo.png: - * data/themes/default/arp_down_on.png: - * data/themes/default/track_op_menu_disabled.png: - * data/themes/default/project_notes.png: - * data/themes/default/track_op_menu.png: - * data/themes/default/groupbox_led_bg.png: - * data/themes/default/arp_down_off.png: - * data/themes/default/mute_off.png: - * data/themes/default/text_italic.png: - * data/themes/default/arp_random_off.png: - * data/themes/default/root.png: - * data/themes/default/apply.png: - * data/themes/default/text_block.png: - * data/themes/default/text_left.png: - * data/themes/default/arp_up_off.png: - * data/themes/default/text_right.png: - * data/themes/default/project_open.png: - * data/themes/default/arp_up_and_down_off.png: - * data/themes/default/edit_undo.png: - * data/themes/default/loop_point.png: - * data/themes/default/cancel.png: - * data/themes/default/add.png: - * data/themes/default/arp_up_and_down_on.png: - * data/themes/default/project_open_down.png: - * data/themes/default/text_under.png: - * data/themes/default/fx_mixer.png: - * data/themes/default/arp_up_on.png: - * data/themes/default/home.png: - integrated improved artwork (more to come) - - * src/core/track.cpp: - do not crash when removing TCOs - - * plugins/ladspa_effect/ladspa_effect.cpp: - use new resampling-methods in case we're processing plugins which are - known not to work at higher samplerates - - * include/main_window.h: - made resetWindowTitle() a slot - - * src/gui/widgets/effect_view.cpp: - coding-style stuff - - * include/effect.h: - * src/core/effect.cpp: - added simple way for plugins to process at lower sample-rates - - * src/core/ladspa_manager.cpp: - added hard-coded path in case LMMS is installed into /usr/local - - * include/export_project_dialog.h: - * src/gui/export_project_dialog.cpp: - update main-window title-bar while rendering - - * src/gui/widgets/visualization_widget.cpp: - do not update while song-export - - * src/gui/dialogs/export_project.ui: - improved usability - - * include/audio_device.h: - * src/core/audio/audio_device.cpp: - * src/core/audio/audio_alsa.cpp: - * src/core/audio/audio_sdl.cpp: - * src/core/audio/audio_oss.cpp: - * src/core/audio/audio_jack.cpp: - after changed quality-settings also update interpolation for - samplerate-conversion - -2008-05-12 Tobias Doerffel - - * plugins/bass_booster/bassbooster_controls.cpp: - * plugins/sf2_player/sf2_player.cpp: - * src/core/audio/audio_device.cpp: - cleanups and the like - - * include/mixer.h: - in draft-mode use zero-order-hold interpolation instead of linear - interpolation - fixes some issues with resampling - - * plugins/bass_booster/bassbooster_controls.cpp: - made bass-booster HQ-mode-capable - - * include/effect_lib.h: - changed float's in bassbooster to SAMPLE - -2008-05-11 Tobias Doerffel - - * plugins/sf2_player/sf2_player.cpp: - retrieve resampling-interpolation from current mixer quality settings - - * include/mixer.h: - made m_writing-variable in fifoWriter volatile - - * include/project_renderer.h: - * src/core/project_renderer.cpp: - change audio-device to file-device from within GUI-thread in order to - make slots being connected to sampleRateChanged()-signal being called - immediately - - * src/tracks/instrument_track.cpp: - cleanups - - * src/core/mixer.cpp: - initialize quality with draft-preset - - * include/setup_dialog.h: - * include/audio_device.h: - * src/gui/main_window.cpp: - * src/gui/setup_dialog.cpp: - * src/core/audio/audio_device.cpp: - * src/core/audio/audio_alsa.cpp: - * src/core/audio/audio_sdl.cpp: - * src/core/audio/audio_oss.cpp: - * src/core/audio/audio_jack.cpp: - made HQ-mode for audio-devices optional - - * include/controller.h: - * include/song.h: - * include/audio_file_device.h: - * include/song_editor.h: - * include/export.h: - * include/export_project_dialog.h: - * src/gui/dialogs/export_project.ui: - * src/gui/song_editor.cpp: - * src/gui/export_project_dialog.cpp: - * src/core/song.cpp: - * src/core/main.cpp: - * Makefile.am: - introduced new project-export dialog - - * include/project_renderer.h: - * src/core/project_renderer.cpp: - new class for easily rendering a project into a file - - * include/mixer.h: - * include/audio_sdl.h: - * include/audio_jack.h: - * include/audio_device.h: - * include/audio_oss.h: - * include/audio_alsa.h: - * src/core/audio/audio_alsa.cpp: - * src/core/audio/audio_device.cpp: - * src/core/audio/audio_file_wave.cpp: - * src/core/audio/audio_jack.cpp: - * src/core/audio/audio_oss.cpp: - * src/core/audio/audio_sdl.cpp: - * src/core/mixer.cpp: - when changing quality-settings tell audio-devices about it so that - they can adjust their output-samplerate - -2008-05-05 Tobias Doerffel - - * plugins/ladspa_effect/ladspa_effect.cpp: - * plugins/organic/organic.cpp: - * plugins/lb302/lb302.cpp: - * plugins/bit_invader/bit_invader.cpp: - * plugins/vibed/vibrating_string.cpp: - * plugins/vibed/vibed.cpp: - * plugins/triple_oscillator/triple_oscillator.cpp: - * plugins/live_tool/live_tool.cpp: - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/stk/mallets/mallets.cpp: - * plugins/sf2_player/sf2_player.cpp: - * plugins/vst_base/lvsl_client.cpp: - * plugins/ladspa_browser/ladspa_port_dialog.cpp: - * plugins/kicker/kicker.cpp: - * include/effect.h: - * include/controller.h: - * include/mixer.h: - * include/sample_buffer.h: - * include/audio_dummy.h: - * include/audio_sdl.h: - * include/song.h: - * include/audio_file_device.h: - * include/audio_jack.h: - * include/audio_device.h: - * include/audio_oss.h: - * include/audio_sample_recorder.h: - * include/audio_alsa.h: - * src/gui/piano_roll.cpp: - * src/gui/song_editor.cpp: - * src/gui/setup_dialog.cpp: - * src/gui/file_browser.cpp: - * src/gui/widgets/envelope_and_lfo_view.cpp: - * src/gui/automation_editor.cpp: - * src/gui/export_project_dialog.cpp: - * src/gui/bb_editor.cpp: - * src/tracks/instrument_track.cpp: - * src/tracks/pattern.cpp: - * src/core/song.cpp: - * src/core/bb_track_container.cpp: - * src/core/audio/audio_file_device.cpp: - * src/core/audio/audio_device.cpp: - * src/core/audio/audio_alsa.cpp: - * src/core/audio/audio_sdl.cpp: - * src/core/audio/audio_oss.cpp: - * src/core/audio/audio_sample_recorder.cpp: - * src/core/audio/audio_jack.cpp: - * src/core/sample_play_handle.cpp: - * src/core/envelope_and_lfo_parameters.cpp: - * src/core/mixer.cpp: - * src/core/instrument_sound_shaping.cpp: - * src/core/instrument_functions.cpp: - * src/core/engine.cpp: - * src/core/sample_buffer.cpp: - * src/core/oscillator.cpp: - * src/core/controller.cpp: - * src/core/lfo_controller.cpp: - made quality-settings (internal processing samplerate, interpolation - and so on) independent of audio-devices (final output) and added new - qualitySettings-structure to mixer - might be still buggy and HQ-mode - is currently not working, this is going to be fixed tomorrow, anyways - important preparation for new project-export-dialog - -2008-05-04 Tobias Doerffel - - * src/gui/fx_mixer_view.cpp: - added spacing below FX-bank-selector - - * include/effect_select_dialog.h: - * include/plugin.h: - * src/gui/effect_select_dialog.cpp: - fixed crash when adding an effect although none is selected and - improved overall usability - - * plugins/organic/organic.cpp: - fixed knob-inheritance problems - -2008-05-04 Paul Giblock - - * plugins/kicker/kicker.cpp: - * plugins/kicker/artwork.png: - Add new kicker artwork - - * plugins/organic/organic.cpp: - * plugins/organic/randomise.png: - * plugins/organic/randomise_pressed.png: - * plugins/organic/artwork.png: - * plugins/organic/logo.png: - Add new organic artwork - - * include/knob.h: - * src/gui/widgets/knob.cpp: - Seperate some drawing functionality to simplify subclasses - - * src/tracks/instrument_track.cpp: - Change plugin size from 246px back to 250px - -2008-05-03 Tobias Doerffel - - * src/core/track.cpp: - fixed move of TCO-selections - -2008-04-30 Paul Giblock - - * src/gui/piano_roll.cpp: - - Fixed moving of selected notes. - - TODO: Quantanize the movement to selected "Q" - -2008-04-29 Paul Giblock - - * include/main_window.h: - * src/gui/main_window.cpp: - Add button for toggling FX Window. Can use a better icon. - -2008-04-28 Paul Giblock - - * plugins/sf2_player/sf2_player.cpp: - * plugins/sf2_player/sf2_player.h: - Add gain, chorus, and reverb controls - - * include/instrument_functions.h: - * src/core/instrument_functions.cpp: - Fixed arpeggio direction loading - - * src/gui/widgets/effect_rack_view.cpp: - Display effect window and enable fx-chain when adding an effect - - * src/gui/widgets/effect_view.cpp: - Make effect controls window non-resizeable and remove maximize button - -2008-04-26 Tobias Doerffel - - * plugins/stereo_enhancer/stereo_enhancer.cpp: - * plugins/stereo_enhancer/stereo_enhancer.h: - - made delay-buffer a simple stereo-buffer instead of - surround-frame-buffer - - added missing call in constructor to clear newly created - delay-buffer - fixes bad distorted sound in various scenarios - -2008-04-25 Paul Giblock - - * plugins/bit_invader/bit_invader.cpp: - Fixed samplelength loading - -2008-04-24 Paul Giblock - - * src/core/song.cpp: - Reset LFO counter on song play - - * src/core/controller.cpp: - * include/controller.h: - Change counter from signed int to unsigned - - * src/gui/piano_roll.cpp: - - Allow volume bars to be modified by clicking one bar, then - sweeping the mouse - - shade volume bars according to volume - - fixed drawing of background while scrolling - - * plugins/stereo_matrix/stereo_matrix.cpp: - Made wet/dry knob do something. Acts as a nice panning knob when the - matrix has the channels swapped. - - * src/tracks/instrument_track.cpp: - * src/gui/fx_mixer_view.cpp: - * include/fx_mixer_view.h: - - Made bank-buttons easier to hit - - Double click on fx-channel LCD in ITW to warp to the proper FX-line - -2008-04-20 Tobias Doerffel - - * src/gui/widgets/group_box.cpp: - * plugins/sf2_player/sf2_player.cpp: - small cleanups - - * data/themes/default/style.css: - * include/fx_mixer_view.h: - * src/gui/fx_mixer_view.cpp: - improved layouting and made FX-lines being organized in 4 banks - instead of one big scrollarea - - * src/core/engine.cpp: - create FX-mixer after song - - * Makefile.am: - * include/fx_mixer.h: - * include/fx_mixer_view.h: - * src/core/fx_mixer.cpp: - * src/core/song.cpp: - * src/gui/fx_mixer_view.cpp: - splitted source-files for FX-mixer and its view - - * include/fader.h: - * src/gui/widgets/fader.cpp: - made faders automatable - - * include/song.h: - made automation-track public accessible - - * include/visualization_widget.h: - * src/gui/widgets/visualization_widget.cpp: - use new timer-framework - - * include/song_editor.h: - * src/gui/song_editor.cpp: - added fast and leightweight timer-framework - widgets requiring - periodic updates can simply connect their update-slots to - songEditor::periodicUpdate() - -2008-04-20 Paul Giblock - - * plugins/stereo_matrix/stereomatrix_controls.cpp: - Fixed saveSettings - -2008-04-16 Paul Giblock - - * plugins/sf2_player/sf2_player.cpp: - * plugins/sf2_player/sf2_player.h: - rewrote reference-sharing. Should return near-100% memory on unload, and - should properly handle samplerate changes. Now we can render large - sf2-based projects without consuming a gig of ram :) - -2008-04-15 Tobias Doerffel - - * src/gui/file_browser.cpp: - check type of preview-play-handle via type() instead of blindly using - dynamic_cast - probably fixes random crashes when previewing a lot of - samples and presets - - * src/tracks/instrument_track.cpp: - delete instrument-instance *after* removing all play-handles from - mixer as several play-handle-methods rely on instrument - fixes crash - when removing track while playing - - * src/core/track.cpp: - directly delete view before removing model - fixes crash when - removing instrument-track with instrument-track-window open - -2008-04-15 Paul Giblock - - * plugins/stereo_matrix/stereomatrix_control_dialog.cpp: - Fix layout - -2008-04-14 Paul Giblock - - * plugins/stereo_matrix: - * plugins/stereo_matrix/stereo_matrix.cpp: - * plugins/stereo_matrix/stereo_matrix.h: - * plugins/stereo_matrix/stereomatrix_controls.cpp: - * plugins/stereo_matrix/stereomatrix_controls.h: - * plugins/stereo_matrix/stereomatrix_control_dialog.cpp: - * plugins/stereo_matrix/stereomatrix_control_dialog.h: - * plugins/stereo_matrix/logo.png: - * plugins/stereo_matrix/Makefile.am: - * configure.in: - * plugins/Makefile.am: - Add stereo matrix plugin for real panning and stereo-swapping - -2008-04-14 Tobias Doerffel - - * plugins/sf2_player/sf2_player.cpp: - * plugins/sf2_player/sf2_player.h: - added resampling with Sinc-interpolation in case LMMS processes with - higher sample-rate than 96 KHz - -2008-04-14 Paul Giblock - - * plugins/sf2_player/sf2_player.cpp: - * plugins/sf2_player/sf2_player.h: - support HQ-mode except for interpolation for sampleRates > 96k - - * include/controller_dialog.h: - * include/controller_view.h: - * src/gui/controller_dialog.cpp: - * src/gui/widgets/controller_view.cpp: - * Makefile.am: - fix segfault when trying to show a controller dialog the second time - -2008-04-12 Tobias Doerffel - - * plugins/lb302/lb302.cpp: - replaced LB_HZ with engine::getMixer()->sampleRate()-calls in order to - have a correct pitch in HQ-mode - - * plugins/ladspa_effect/ladspa_effect.cpp: - * plugins/ladspa_effect/ladspa_control_dialog.cpp: - * plugins/ladspa_effect/ladspa_effect.h: - * plugins/ladspa_effect/ladspa_controls.cpp: - * plugins/ladspa_effect/Makefile.am: - * plugins/ladspa_effect/ladspa_control_dialog.h: - * plugins/ladspa_effect/ladspa_controls.h: - * include/effect_control_dialog.h: - made LADSPA-effect-hoster handle samplerate-changes so that we've - proper effect-processing in HQ-mode - - * include/lmms_constants.h: - more accurate constants - - * src/gui/export_project_dialog.cpp: - fixed progress-bar after change of tick-resolution from 64 to 192 - - * include/mixer.h: - * src/core/mixer.cpp: - made clearAudioBuffer() static - - * include/song.h: - * src/core/ladspa_manager.cpp: - coding-style-stuff - - * src/core/oscillator.cpp: - do not synthesize anything if frequency is above half of samplerate - -2008-04-09 Tobias Doerffel - - * plugins/flp_import/flp_import.cpp: - * plugins/midi_import/midi_import.cpp: - * include/engine.h: - * include/song.h: - * include/pattern.h: - * include/piano_roll.h: - * include/midi_time.h: - * include/types.h: - * include/timeline.h: - * include/automation_editor.h: - * configure.in: - * src/gui/piano_roll.cpp: - * src/gui/song_editor.cpp: - * src/gui/automation_editor.cpp: - * src/tracks/bb_track.cpp: - * src/tracks/instrument_track.cpp: - * src/tracks/pattern.cpp: - * src/core/note_play_handle.cpp: - * src/core/song.cpp: - * src/core/bb_track_container.cpp: - * src/core/mixer.cpp: - * src/core/mmp.cpp: - * src/core/track.cpp: - * src/core/engine.cpp: - * src/core/timeline.cpp: - * src/core/automation_pattern.cpp: - changed internal MIDI-time-resolution from 64th to 192th resulting for - example in better MIDI-import and allowing to use triplet-notes in LMMS - -2008-04-09 Paul Giblock - - * include/controller.h: - * src/core/controller.cpp: - fit values between 0.0 and 1.0 - - * include/lfo_controller.h: - * src/gui/lfo_controller_dialog.cpp: - * src/core/lfo_controller.cpp: - add more parameters to LFO controller - -2008-04-08 Paul Giblock - - * include/engine.h: - * src/core/engine.cpp: - add static accessor to the controller rack. I'm sure this won't be it's - own MDISubWindow very long.. - - * include/controller.h: - * include/controller_dialog.h: - * src/gui/widgets/knob.cpp: - * src/core/controller.cpp: - add gui accesssor and split off LFO - - * include/song.h: - * src/core/song.cpp: - make song the model for user-created controllers - - * src/gui/song_editor.cpp: - added icon. Was going to add controller rack as a QSplitter but found - this would take too much time right now - - * src/gui/widgets/visualization_widget.cpp: - drop back from 40 to an arbitrary 24fps - - * include/lfo_controller.h: - * src/gui/lfo_controller.cpp: - * src/gui/lfo_controller_dialog.cpp: - - add beginnings of an LFO controller and dialog - - don't mind the unoptimized code, it will be fixed - - * include/controller_view.h: - * include/controller_rack_view.h: - * src/gui/widgets/controller_view.cpp: - * src/gui/widgets/controller_rack_view.cpp: - * data/themes/default/controller_bg.png: - The beginning of the controller rack and controller items. This is an - absolute bare minimum interface at the moment. Also ulta-buggy. - - * include/controller_connection_dialog.h: - * src/gui/controller_connection_dialog.cpp: - This is the connection dialog. Will allow users to create and modify - connections between a controller and model. The lineEdit will be for - editing a mapping function to scale, offset, trig-ify, etc. - - * Makefile.am: - add controller related files - -2008-04-07 Tobias Doerffel - - * src/gui/effect_select_dialog.cpp: - fixed wrong model-index (=>wrong description-widget) when filtering - - * src/gui/lmms_style.cpp: - decreased button-icon-size to 20px - - * src/core/fx_mixer.cpp: - process FX-channels until effects signal that there's nothing more to - process - closes #1935872 - - * configure.in: - integrated changes from libsamplerate-0.1.3/configure.ac - - * include/effect_select_dialog.h: - * src/gui/effect_select_dialog.cpp: - - cleanups - - fixed broken connection for "Add"-button - - * src/3rdparty/samplerate/common.h: - * src/3rdparty/samplerate/fastest_coeffs.h: - * src/3rdparty/samplerate/float_cast.h: - * src/3rdparty/samplerate/high_qual_coeffs.h: - * src/3rdparty/samplerate/mid_qual_coeffs.h: - * src/3rdparty/samplerate/samplerate.c: - * src/3rdparty/samplerate/samplerate.h: - * src/3rdparty/samplerate/src_linear.c: - * src/3rdparty/samplerate/src_sinc.c: - * src/3rdparty/samplerate/src_zoh.c: - integrated libsamplerate 0.1.3 source which has various improvements - over 4-year-old version 0.1.2 - - * src/gui/widgets/combobox.cpp: - set correct value for model when selecting an item whose strings - occurs multiple times in the combobox - -2008-04-06 Tobias Doerffel - - * include/effect_select_dialog.h: - * src/gui/effect_select_dialog.cpp: - changed list-widget to be a list-view and added a line-edit for - filtering the list - -2008-04-06 Paul Giblock - - * include/lmms_style.h: - * src/gui/lmms_style.cpp: - Fix icon size for buttons etc... - -2008-04-05 Tobias Doerffel - - * plugins/patman/patman.cpp: - * plugins/patman/patman.h: - * plugins/lb302/lb302.cpp: - * plugins/lb302/lb302.h: - * plugins/organic/organic.cpp: - * plugins/organic/organic.h: - * plugins/bit_invader/bit_invader.cpp: - * plugins/bit_invader/bit_invader.h: - * plugins/vibed/vibed.h: - * plugins/vibed/vibed.cpp: - * plugins/triple_oscillator/triple_oscillator.h: - * plugins/triple_oscillator/triple_oscillator.cpp: - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/audio_file_processor/audio_file_processor.h: - * plugins/stk/mallets/mallets.cpp: - * plugins/stk/mallets/mallets.h: - * plugins/sf2_player/sf2_player.cpp: - * plugins/sf2_player/sf2_player.h: - * plugins/vestige/vestige.cpp: - * plugins/vestige/vestige.h: - * plugins/kicker/kicker.cpp: - * plugins/kicker/kicker.h: - * include/instrument_play_handle.h: - * include/mixer.h: - * include/instrument_track.h: - * include/instrument.h: - * include/note_play_handle.h: - * include/sample_play_handle.h: - * include/dummy_instrument.h: - * include/preset_preview_play_handle.h: - * include/play_handle.h: - * src/tracks/instrument_track.cpp: - * src/core/preset_preview_play_handle.cpp: - * src/core/note_play_handle.cpp: - * src/core/sample_play_handle.cpp: - * src/core/mixer.cpp: - * src/core/instrument.cpp: - made rendering happen with one global working-buffer per thread - - hopefully improves L1/L2-cache-efficiency - - * include/file_browser.h: - * src/gui/file_browser.cpp: - do not examine directories for being empty when adding them - speeds - up LMMS-startup a lot! - -2008-04-04 Paul Giblock - - * include/knob.h: - * src/gui/widgets/knob.cpp: - Add friendlyUpdates slot and override doConnections - - * include/song_editor.h: - Add button for managing controller to songEditor - - * include/mv_base.h: - * include/core/mv_base.cpp: - Make doConnections virtual - - * include/combobox.h: - Fixed tabs - - * src/core/mixer.cpp: - Couldn't easily convert from void* to int on a 64bit machine. Instead, - we now use a union. We should change any enqueueing code to use the - union as well - - * data/themes/add_controller.png: - * data/themes/controller.png: - Some new images for controllers - -2008-04-04 Tobias Doerffel - - * src/core/mixer.cpp: - implemented parallelization of FX-channel-processing - - * include/automatable_model.h: - * include/automatable_model_templates.h: - cleanups and optimizations in value( int ) - -2008-04-04 Paul Giblock - - * include/controller.h: - * src/core/controller.cpp: - * Makefile.am: - Add controller class to LMMS - - * include/knob.h: - * src/gui/widgets/knob.cpp: - Add Connect to Controller item to context menu for future dialog - - * include/automatable_model.h: - * include/automatable_model_templates.h: - - add controller pointer to class - - add value(int offset) function for sample-exact value fetching - - use controller in value() if set - - * src/tracks/pattern.cpp: - Fixed length of notes according to PaulWay - - * src/core/mixer.cpp: - trigger controller's frame counter - - * data/themes/llama: - * data/themes/llama/background_artwork.png: - * data/themes/Makefile.am: - start a theme with my preferences - -2008-04-03 Tobias Doerffel - - * include/song.h: - * src/core/song.cpp: - * src/gui/export_project_dialog.cpp: - * src/gui/song_editor.cpp: - made song-length being cached and only updated upon changed length or - position of TCOs - - * src/core/track.cpp: - optimized track::length()-method - - * src/core/mixer.cpp: - great improvements on multithreading - one global job-queue protected by - a simple mutex where threads pull their jobs from - - * src/core/engine.cpp: - delete LADSPA-manager after mixer and FX-mixer as LADSPA-effects in - FX-mixer access LADSPA-manger at destruction - - * plugins/ladspa_effect/ladspa_effect.cpp: - * plugins/ladspa_effect/ladspa_effect.h: - * plugins/bass_booster/bass_booster.cpp: - * plugins/bass_booster/bass_booster.h: - * plugins/stereo_enhancer/stereo_enhancer.cpp: - * plugins/stereo_enhancer/stereo_enhancer.h: - * include/effect.h: - - made effect::processAudioBuffer(...) process a sampleFrame- instead of - surroundSampleFrame-array - - divide out_sum by number of frames processed to have a - period-size-independent value - - * src/core/note_play_handle.cpp: - * include/automatable_model.h: - renamed value( int ) to levelToValue( int ) as preparation for - controller-framework - - * include/mixer.h: - * src/core/mixer.cpp: - - made mixer::buffertToPort accept a stereoVolumeVector as audio-buffers - have stereo-audio-buffers now - - made peakValueLeft() and peakValueRight() take a sampleFrame-pointer - - process in stereo internally - - * include/instrument_track.h: - * src/tracks/instrument_track.cpp: - replaced surroundArea with panning-knob - - * include/audio_port.h: - * src/core/audio/audio_port.cpp: - use sampleFrame-array instead of surroundSampleFrame-array for - processing - - * src/core/fx_mixer.cpp: - * include/fx_mixer.h: - made mixToChannel() take a sampleFrame-pointer - - * include/volume.h: - * src/core/sample_play_handle.cpp: - * src/core/surround_area.cpp: - added stereoVolumeVector and surroundVolumeVector-declarations - - * include/dummy_effect.h: - implement pure-virtual processAudioBuffer()-method - - * include/panning.h: - new panningToVolumeVector()-inline-method - - * include/effect_chain.h: - * src/core/effect_chain.cpp: - made processAudioBuffer() take a sampleFrame-pointer - - * include/visualization_widget.h: - * src/gui/widgets/visualization_widget.cpp: - use sampleFrame-array instead of surroundSampleFrame-array internally - -2008-04-02 Tobias Doerffel - - * include/automatable_model.h: - added castValue()-method - -2008-04-01 Tobias Doerffel - - * plugins/ladspa_effect/Makefile.am: - * plugins/patman/Makefile.am: - * plugins/lb302/Makefile.am: - * plugins/organic/Makefile.am: - * plugins/bass_booster/Makefile.am: - * plugins/bit_invader/Makefile.am: - * plugins/vst_effect/Makefile.am: - * plugins/vibed/Makefile.am: - * plugins/triple_oscillator/Makefile.am: - * plugins/live_tool/Makefile.am: - * plugins/live_tool/live_tool.cpp: - * plugins/singerbot/Makefile.am: - * plugins/audio_file_processor/Makefile.am: - * plugins/stk/mallets/Makefile.am: - * plugins/stereo_enhancer/Makefile.am: - * plugins/vestige/Makefile.am: - * plugins/sf2_player/Makefile.am: - * plugins/ladspa_browser/Makefile.am: - * plugins/kicker/Makefile.am: - * plugins/polyb302/Makefile.am: - * plugins/flp_import/flp_import.cpp: - corrected paths / includes - - * include/engine.h: - * include/instrument_track.h: - * include/preset_preview_play_handle.h: - * src/tracks/instrument_track.cpp: - * src/core/preset_preview_play_handle.cpp: - * src/core/track_container.cpp: - * src/core/engine.cpp: - added dummyTrackContainer with dummyInstrumentTrack in order to have a - default-model for cached inactive instrument-track-windows - fixes - regular crashes - - * include/engine.h: - * include/bb_track_container.h: - * include/track_container_view.h: - * include/song_editor.h: - * include/bb_editor.h: - * include/track_container.h: - * src/gui/track_container_view.cpp: - * src/gui/bb_editor.cpp: - * src/tracks/bb_track.cpp: - * src/tracks/pattern.cpp: - * src/core/preset_preview_play_handle.cpp: - * src/core/track_container.cpp: - * src/core/song.cpp: - * src/core/bb_track_container.cpp: - * src/core/file_browser.cpp: - * src/core/track.cpp: - * src/core/engine.cpp: - * src/core/automation_editor.cpp: - * Makefile.am: - - splitted track_container.h into track_container.h and - track_container_view.h - - splitted bb_editor.h into bb_track_container.h and bb_editor.h - - moved view-component-implementations of trackContainer and - bbTrackContainer to src/gui/ - - added dummyInstrumentTrack-implementation - - * plugins/ladspa_effect/caps/README.ardour: - * plugins/ladspa_effect/caps/README.dist: - * plugins/ladspa_effect/caps/Makefile.am: - added README-files - - * plugins/ladspa_effect/ladspa_effect.cpp: - * plugins/bass_booster/bass_booster.cpp: - decreased minimal gate from 0.0001f to 0.00001f as it turned out that - some effects were cut off with previous value - - * include/endian_handling.h: - * include/note.h: - * include/effect_select_dialog.h: - * include/midi.h: - * include/effect_view.h: - * include/side_bar.h: - * include/micro_timer.h: - * include/midi_event_processor.h: - * include/instrument_function_views.h: - * include/instrument_midi_io.h: - * include/export.h: - * include/dummy_instrument.h: - * include/level_object.h: - added missing includes when compiling headers itself - - * Makefile.am: - added single-binary-target for testing-purposes - -2008-03-30 Tobias Doerffel - - * src/core/song_editor.cpp: - removed obsolete SIGNAL/SLOT-connection - - * plugins/bass_booster/bass_booster.cpp: - * plugins/ladspa_effect/ladspa_effect.cpp: - compare out_sum against getGate()+0.0001f as getGate() might be 0 - while out_sum in many cases never will reach 0,0...0 again - fixes - high CPU-usage even after stop playing - - * include/effect_chain.h: - * plugins/ladspa_effect/ladspa_effect.cpp: - made controls have a track to allow automation of LADSPA-controls - - * include/automatable_button.h: - * src/widgets/automatable_button.cpp: - on model-change, ensure QPushButton's state is correct - - * src/widgets/effect_rack_view.cpp: - properly handle changed models - - * src/tracks/instrument_track.cpp: - when model has changed, also set new model for effect-view - - * src/core/effect_chain.cpp: - - use track as parent - - correct initialization of m_enabledModel which fixes crashes on - model-updates - -2008-03-30 Paul Giblock - - * plugins/sf2_player/sf2_player.cpp: - * plugins/sf2_player/sf2_player.h: - Fix patch dialog error when viewing dialog before file has loaded - - all we had to do is diable the button while a file is loading - -2008-03-30 Tobias Doerffel - - * plugins/sf2_player/sf2_player.cpp: - duplicate char-pointer returned by qPrintable - fixes bugs when - loading sound-fonts - -2008-03-24 Tobias Doerffel - - * src/core/fx_mixer.cpp: - completed recent changes to saveSettings() / loadSettings() - -2008-03-22 Tobias Doerffel - - * data/themes/default/main_toolbar_bg.png: - * data/themes/default/toolbar_bg.png: - made toolbar-backgrounds a bit more blue-ish - - * src/core/main.cpp: - tuned colors a bit - - * src/core/fx_mixer.cpp: - moved effect-chain to right side of window - - * src/core/ladspa_control.cpp: - added missing break in switch which made a lot of messages appear in - console when time-based knobs were used by LADSPA-plugins - - * plugins/organic/organic.cpp: - * plugins/organic/organic.h: - * plugins/vibed/vibed.h: - * plugins/vibed/vibed.cpp: - * plugins/triple_oscillator/triple_oscillator.cpp: - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/vestige/vestige.cpp: - * plugins/vestige/vestige.h: - * plugins/sf2_player/artwork.png: - * plugins/midi_import/midi_import.cpp: - * include/note.h: - * include/mixer.h: - * include/instrument_track.h: - * include/sample_buffer.h: - * include/fx_mixer.h: - * include/piano.h: - * include/volume.h: - * include/midi_port.h: - * include/panning.h: - * src/midi/midi_client.cpp: - * src/midi/midi_port.cpp: - * src/midi/midi_alsa_seq.cpp: - * src/lib/sample_buffer.cpp: - * src/widgets/instrument_midi_io_view.cpp: - * src/tracks/instrument_track.cpp: - * src/core/preset_preview_play_handle.cpp: - * src/core/note_play_handle.cpp: - * src/core/mixer.cpp: - * src/core/piano_roll.cpp: - * src/core/instrument_functions.cpp: - * src/core/instrument_midi_io.cpp: - * src/core/note.cpp: - * src/core/piano.cpp: - * src/core/fx_mixer.cpp: - - merged note's tone and octave-property into one key-property which - makes us save calculations in a lot of places and also shrinks - sizes of XML-files - - renamed various note-related constants and enums to match current - coding-style - - * data/themes/default/effect_plugin.png: - improved effect-plugin-artwork made with Inkscape - -2008-03-22 Paul Giblock - - * plugins/organic/organic.cpp: - Removed debug printf - - * include/instrument_track.h: - * src/tracks/instrument_track.cpp: - - First version of cache for hidden instrumentTrackWindows - - Need to delete the cache and any remaining ITW's upon application close - - * src/core/lmms_style.cpp: - Applied border to more primatives. Still some known issues.. - - * src/core/main.cpp: - Just playing around with palette colors. - -2008-03-16 Paul Giblock - - * Makefile.am: - Added lmmsStyle to the Makefile again. - - * src/widgets/lcd_spinbox.cpp: - * include/lcd_spinbox.h: - - Added separate function for deriving control size - - Added property for side-margins - - Fixed memory leak with the pixmap - - Added yours truly to the copyright - - * src/core/lmms_style.cpp: - * include/lmms_style.h: - - Re-added lmmsStyle. I don't know why these files disappeared - - Improve appearance of sunken borders - - * plugins/sf2_player/sf2_player.cpp: - * plugins/sf2_player/sf2_player.h: - - Hopefully plugged some leaks caused by the leaky fluidSynth. It seems - to run fine, but only time will tell - - Added sfont file sharing between instances of sf2Player - - Added synthMutex to keep play() from freezing while we are recreating - the synth due to a file load. - - * src/widgets/combobox.cpp: - Draw styled border. - - * src/core/fx_mixer.cpp: - Improved drawing of LCD Channel numbers. - - * .: - * m4: - * buildtools: - * plugins: - * plugins/ladspa_effect: - * plugins/ladspa_effect/caps: - * plugins/ladspa_effect/caps/waves: - * plugins/ladspa_effect/caps/dsp: - * plugins/ladspa_effect/caps/dsp/tonestack: - * plugins/patman: - * plugins/lb302: - * plugins/organic: - * plugins/bass_booster: - * plugins/bit_invader: - * plugins/vst_effect: - * plugins/vibed: - * plugins/triple_oscillator: - * plugins/singerbot: - * plugins/live_tool: - * plugins/audio_file_processor: - * plugins/stk: - * plugins/stk/mallets: - * plugins/stk/voices: - * plugins/stk/voices/flute: - * plugins/stk/voices/resonate: - * plugins/stk/voices/include: - * plugins/stk/voices/wurley: - * plugins/stk/voices/src: - * plugins/stk/voices/percflute: - * plugins/stk/voices/rhodey: - * plugins/stk/voices/tubebell: - * plugins/stk/voices/bowed: - * plugins/stk/voices/clarinet: - * plugins/stk/voices/moog: - * plugins/stk/voices/metal: - * plugins/stk/voices/b3: - * plugins/stk/voices/blow_hole: - * plugins/stk/voices/brass: - * plugins/stk/voices/fmvoices: - * plugins/stk/voices/bandedwg: - * plugins/stk/voices/blow_bottle: - * plugins/plucked_string_synth: - * plugins/stereo_enhancer: - * plugins/sf2_player: - * plugins/vestige: - * plugins/vst_base: - * plugins/ladspa_browser: - * plugins/kicker: - * plugins/polyb302: - * plugins/flp_import: - * plugins/flp_import/unrtf: - * plugins/midi_import: - * include: - * src: - * src/audio: - * src/midi: - * src/lib: - * src/widgets: - * src/tracks: - * src/3rdparty: - * src/3rdparty/samplerate: - * src/core: - * data: - * data/locale: - * data/track_icons: - * data/midi-maps: - * data/samples: - * data/samples/effects: - * data/samples/stringsnpads: - * data/samples/basses: - * data/samples/shapes: - * data/samples/latin: - * data/samples/bassloopes: - * data/samples/drums: - * data/samples/instruments: - * data/samples/misc: - * data/samples/drumsynth: - * data/samples/drumsynth/effects: - * data/samples/drumsynth/misc_synth: - * data/samples/drumsynth/tr606: - * data/samples/drumsynth/cr78: - * data/samples/drumsynth/magnetboy: - * data/samples/drumsynth/tr808: - * data/samples/drumsynth/tr909: - * data/samples/drumsynth/misc_fx: - * data/samples/drumsynth/misc: - * data/samples/drumsynth/electro: - * data/samples/drumsynth/linn: - * data/samples/drumsynth/ferraro: - * data/samples/drumsynth/r_b: - * data/samples/drumsynth/misc_bass: - * data/samples/drumsynth/tr77: - * data/samples/drumsynth/misc_perc: - * data/samples/drumsynth/latin: - * data/samples/drumsynth/instrument: - * data/samples/drumsynth/misc_electro: - * data/samples/drumsynth/acoustic: - * data/samples/drumsynth/misc_hats: - * data/samples/drumsynth/farfisa: - * data/samples/drumsynth/jorgensohn: - * data/samples/drumsynth/cr8000: - * data/samples/drumsynth/misc_claps: - * data/samples/beats: - * data/presets: - * data/presets/AudioFileProcessor: - * data/presets/LB302: - * data/presets/Organic: - * data/presets/PluckedStringSynth: - * data/presets/VeSTige: - * data/presets/BitInvader: - * data/presets/Vibed: - * data/presets/TripleOscillator: - * data/themes: - * data/themes/blue_scene: - * data/themes/blue_scene/plugins: - * data/themes/default: - * data/projects: - * data/projects/covers: - * data/projects/recorded_loops: - * data/projects/cool_songs: - * data/projects/tutorials: - * data/projects/demos: - * data/projects/misc: - * data/projects/templates: - Added svn:ignore property for temporary buildtime files. Prevents - dozens of items showing in diff and status. The file - .svnignore describes which files are ignored. - - * .svnignore: - Can change this file to ignore more stuff. Reapply by running: - svn -R propset svn:ignore -F .svnignore . - -2008-03-16 Tobias Doerffel - - * src/widgets/visualization_widget.cpp: - improved signal-visualization and increased update-ratio from 20 to 40 - fps - - * include/mixer.h: - * src/core/mixer.cpp: - * src/core/song_editor.cpp: - * data/themes/default/auto_limit.png: - removed obsolete and broken auto-limit-feature - - * src/core/engine.cpp: - * src/core/fx_mixer.cpp: - proper cleanup of fxMixer and its view at exit - - * src/widgets/effect_view.cpp: - * data/themes/default/effect_plugin.png: - improved effect-view-artwork - -2008-03-15 Tobias Doerffel - - * src/core/mixer.cpp: - fixed peak-calculation for negative signal-values - - * include/effect_view.h: - * src/widgets/effect_view.cpp: - - fixed random crashes when removing effect-views - - improved painting of effect-view - - * plugins/ladspa_effect/ladspa_controls.cpp: - fixed LADSPA-controls which internally were not linked per default - although they should be - - * include/fx_mixer.h: - * include/effect_rack_view.h: - * include/effect_chain.h: - * src/widgets/effect_rack_view.cpp: - * src/tracks/instrument_track.cpp: - * src/core/effect_chain.cpp: - * src/core/song.cpp: - * src/core/fx_mixer.cpp: - implemented save- and load-functionality for FX-mixer - -2008-03-14 Tobias Doerffel - - * include/engine.h: - * include/mixer.h: - * include/fx_mixer.h: - * include/fader.h: - * include/effect_chain.h: - * src/audio/audio_port.cpp: - * src/widgets/fader.cpp: - * src/tracks/instrument_track.cpp: - * src/core/effect_chain.cpp: - * src/core/mixer.cpp: - * src/core/engine.cpp: - * src/core/fx_mixer.cpp: - * data/themes/default/fader_background.png: - * data/themes/default/fader_knob.png: - * data/themes/default/fader_leds.png: - * Makefile.am: - added initial FX-mixer implementation - not perfect and very usable - yet but the basics work so far :) - - * src/widgets/instrument_midi_io_view.cpp: - fixed segfault when using raw MIDI-client - -2008-03-08 Tobias Doerffel - - * data/locale/de.ts: - * data/locale/de.qm: - updated German localization - - * include/effect_board.h: - removed - - * include/fx_mixer.h: - * src/tracks/instrument_track.cpp: - added definition for upcoming FX-mixer - - * plugins/triple_oscillator/triple_oscillator.h: - * include/meter_dialog.h: - * include/instrument_functions.h: - * include/instrument_sound_shaping.h: - * include/instrument_function_views.h: - * include/bb_track.h: - * include/ladspa_control_view.h: - * include/instrument_sound_shaping_view.h: - * src/midi/midi_client.cpp: - * src/widgets/ladspa_control_view.cpp: - * src/widgets/instrument_sound_shaping_view.cpp: - * src/widgets/instrument_function_views.cpp: - * src/core/instrument_sound_shaping.cpp: - * src/core/instrument_functions.cpp: - * Makefile.am: - added missing Q_OBJECT-macros for views which made localizations not - work - - * plugins/sf2_player/logo.png: - replaced Kicker-logo with actual logo - - * src/core/track.cpp: - * include/track.h: - fixed crash when removing TCO via context-menu - - * include/instrument_track.h: - * src/core/file_browser.cpp: - made "Send to active instrument-track" work again - - * include/instrument_midi_io_view.h: - * include/instrument_midi_io.h: - * src/widgets/instrument_midi_io_view.cpp: - * src/core/instrument_midi_io.cpp: - made MIDI-port-menu work again - - * plugins/kicker/kicker.cpp: - set track for knobs in order to make them automatable - - * include/automatable_model_templates.h: - fixed missing automationPattern-initialization (i.e. - setFirstValue()-call) which made automation-editor not work properly - if no events were drawn so far - - * include/piano_roll.h: - * include/automation_editor.h: - * src/core/piano_roll.cpp: - * src/core/automation_editor.cpp: - made micro-draw-operations use 32-bit-ints instead of 16-bit-integers - for performing better on 32-bit-platforms - - * data/locale/de.qm: - * data/locale/de.ts: - * include/mv_base.h: - * src/widgets/combobox.cpp: - * src/widgets/knob.cpp: - * src/widgets/automatable_button.cpp: - * src/core/mv_base.cpp: - also connect model-signals with view when using default-constructed - model - fixes missing updates on things like button-groups when using - automation - -2008-03-07 Tobias Doerffel - - * plugins/vst_base/lvsl_server.cpp: - show window before determining X-Window-ID as newer WINE-versions do - not create X-windows before actually showing window - - * plugins/vst_base/lvsl_client.cpp: - * plugins/vst_base/lvsl_client.h: - properly insert VST-editor-window into QMdiArea - - * plugins/vestige/vestige.cpp: - * plugins/vestige/vestige.h: - M/V-split - - * plugins/kicker/kicker.h: - * include/sample_buffer.h: - * configure.in: - * src/lib/sample_buffer.cpp: - misc coding-style-fixes - - * include/sample_buffer.h: - * src/lib/sample_buffer.cpp: - made sampleBuffer reentrant so that several threads can use - sampleBuffer::play() simultanously - fixes crashes when using - AudioFileProcessor or Patman in multithreaded mode - -2008-03-06 Tobias Doerffel - - * plugins/sf2_player/sf2_player.h: - * plugins/sf2_player/sf2_player.cpp: - added m_runningNotes-array to track overlapping or edge-to-edge notes - and act accordingly - -2008-03-04 Tobias Doerffel - - * src/widgets/graph.cpp: - fixed compiler-warnings - - * include/automatable_model.h: - * include/graph.h: - * include/surround_area.h: - * src/audio/audio_file_device.cpp: - * src/audio/audio_alsa.cpp: - * src/audio/audio_oss.cpp: - * src/audio/audio_port.cpp: - * src/audio/audio_jack.cpp: - * src/midi/midi_alsa_seq.cpp: - * src/lib/project_journal.cpp: - * src/lib/mmp.cpp: - * src/lib/oscillator.cpp: - * src/widgets/ladspa_control_view.cpp: - * src/widgets/envelope_and_lfo_view.cpp: - * src/widgets/instrument_midi_io_view.cpp: - * src/widgets/lcd_spinbox.cpp: - * src/widgets/group_box.cpp: - * src/widgets/volume_knob.cpp: - * src/tracks/automation_track.cpp: - * src/tracks/bb_track.cpp: - * src/tracks/instrument_track.cpp: - * src/core/preset_preview_play_handle.cpp: - * src/core/track_container.cpp: - * src/core/effect_control_dialog.cpp: - * src/core/import_filter.cpp: - * src/core/setup_dialog.cpp: - * src/core/sample_play_handle.cpp: - * src/core/envelope_and_lfo_parameters.cpp: - * src/core/main.cpp: - * src/core/mixer.cpp: - * src/core/effect.cpp: - * src/core/instrument_midi_io.cpp: - * src/core/track.cpp: - * src/core/timeline.cpp: - * src/core/instrument.cpp: - * src/core/surround_area.cpp: - * src/core/effect_select_dialog.cpp: - * src/core/automation_editor.cpp: - * src/core/meter_dialog.cpp: - reduced dependencies from automatable_model_templates.h and fixed - according compiler-warnings - - * include/shared_object.h: - added mutex to protect reference-counter - -2008-03-03 Tobias Doerffel - - * src/core/piano_roll.cpp: - - fixed and improved painting of volume-lines - - fixed painting of note-detuning-dots - - fixed KEY_PRESSURE-events when changing volume of a note - - pass keyboard-events to piano-class if appropriate - - * include/piano.h: - * src/core/piano.cpp: - moved MIDI-event-code to piano-class - - * src/core/piano_roll.cpp: - * src/core/automation_editor.cpp: - set focus-policy in order to receive key-events - - * plugins/sf2_player/sf2_player.cpp: - - fixed open-file-dialog - - fixed order of member-variable-initialization - - * src/lib/sample_buffer.cpp: - added MP3-files to file-dialog-filter as they theoretically should be - supported through SDL_sound-library - - * src/core/mixer.cpp: - always process all note-play-handles of monophonic instruments by the - same thread serially - fixes problems with monophonic instruments - which rely on notes being processed in correct order - - * src/core/instrument_sound_shaping.cpp: - fixed out-of-range initial value of filter-frequency-model - - * src/core/main_window.cpp: - set directory before selecting file in QFileDialog - - * src/widgets/knob.cpp: - removed relative painting - fixes badly draw knobs in several cases - - * src/core/song_editor.cpp: - * src/core/track.cpp: - * src/widgets/knob.cpp: - * src/widgets/volume_knob.cpp: - made textFloat's work properly and displayed at correct position - - * src/widgets/text_float.cpp: - * include/text_float.h: - always use main-window as parent and make sure to be moved relative to - it, i.e. do not show outside of moved main-window - - * include/mmp.h: - * src/lib/mmp.cpp: - * src/core/song.cpp: - removed overwrite-check as in Qt4 QFileDialog does this on its own - - * include/midi_event_processor.h: - * include/instrument_track.h: - * src/tracks/instrument_track.cpp: - do not lock mixer and call notePlayHandle::noteOff() in - instrumentTrack::processInEvent() when processing monophonic - instruments in playNote() - fixes lockups in LB302 in multithreaded - mode - -2008-03-02 Tobias Doerffel - - * include/ladspa_control.h: - * src/widgets/ladspa_control_view.cpp: - * src/widgets/tempo_sync_knob.cpp: - fixed wrong integration of tempoSyncKnobModel - - * src/core/mv_base.cpp: - made dataChanged()->update() connection queued - -2008-03-01 Tobias Doerffel - - * plugins/patman/patman.cpp: - do not crash in patmanInstrument::playNote() when no file is set - - * include/ladspa_control.h: - * src/core/ladspa_control.cpp: - fixed missing tempoSyncKnobModel for not crashing when instantiating - LADSPA-plugins with time-knobs inside - - * src/lib/sample_buffer.cpp: - do not set global mixer lock in update() if no data has been set yet - - * plugins/patman/patman.cpp: - do not crash when loading settings where no file is set - - * plugins/triple_oscillator/triple_oscillator.cpp: - in saveSettings() fixed wrong integer-to-string-conversion which made - LMMS save broken files - -2008-02-29 Tobias Doerffel - - * src/widgets/text_float.cpp: - set Qt::ToolTip-window-flag in order to display correctly - some other - positioning code still needs to be fixed - - * include/import_filter.h: - fixed importFilter::readByte() to return proper integer instead of - signed char - makes import-filters finally work - - * plugins/midi_import/midi_import.cpp: - * plugins/flp_import/flp_import.cpp: - fixed parameter-list of lmms_plugin_main to work properly - -2008-02-29 Paul Giblock - - * include/lcd_spinbox.h: - * src/widgets/lcd_spinbox.cpp: - * data/themes/default/lcd_19red.png: - * data/themes/default/lcd_19green.png: - new non-QLcdSpinBox pixmap-based LCD spinbox - - * include/lmms_style.h: - * src/core/main.cpp: - * Makefile.am: - added lmmsStyle to aim for a consistant interface. Some Qt themes - make LMMS look really bad. Hopefully, over time, we can make a style - the unifies all our gui elements - - * src/core/track.cpp: - playing with alternating colors per tact - - * include/combobox.h: - * src/widgets/combobox.cpp: - * data/themes/default/combobox_bg.png: - * data/themes/default/combobox_arrow_selected.png: - - combobox now updates when incremented or decrementing. - - draw combo box with styled border, change arrow when pressed - -2008-02-28 Tobias Doerffel - - * src/core/plugin.cpp: - warn if LMMS-plugin does not have required _plugin_descriptor - field - -2008-02-28 Paul Giblock - - * plugins/sf2_player: - * plugins/sf2_player/patches_dialog.ui: - * plugins/sf2_player/logo.png: - * plugins/sf2_player/patches_dialog.cpp: - * plugins/sf2_player/sf2_player.cpp: - * plugins/sf2_player/Makefile.am: - * plugins/sf2_player/artwork.png: - * plugins/sf2_player/patches_dialog.h: - * plugins/sf2_player/sf2_player.h: - * plugins/Makefile.am: - * configure.in: - added beta of SoundFont player - -2008-02-28 Danny McRae - - * plugins/stk/Makefile.am: - removed voices from the default build - -2008-02-28 Tobias Doerffel - - * configure.in: - back in trunk - LMMS-MV is now default, so removed "mv"-suffix - -2008-02-27 Tobias Doerffel - - * plugins/ladspa_effect/caps/Compress.cc: - * plugins/ladspa_effect/caps/ToneStack.cc: - * plugins/ladspa_effect/caps/Compress.h: - * plugins/ladspa_effect/caps/ToneStack.h: - * plugins/ladspa_effect/caps/Roessler.h: - * plugins/ladspa_effect/caps/HRTF.cc: - * plugins/ladspa_effect/caps/HRTF.h: - * plugins/ladspa_effect/caps/basics.h: - * plugins/ladspa_effect/caps/Lorenz.cc: - * plugins/ladspa_effect/caps/Lorenz.h: - * plugins/ladspa_effect/caps/Amp.cc: - * plugins/ladspa_effect/caps/Amp.h: - * plugins/ladspa_effect/caps/Pan.h: - * plugins/ladspa_effect/caps/Phaser.cc: - * plugins/ladspa_effect/caps/White.h: - * plugins/ladspa_effect/caps/Preamp.cc: - * plugins/ladspa_effect/caps/Click.cc: - * plugins/ladspa_effect/caps/VCO.cc: - * plugins/ladspa_effect/caps/Clip.cc: - * plugins/ladspa_effect/caps/Click.h: - * plugins/ladspa_effect/caps/VCO.h: - * plugins/ladspa_effect/caps/ToneControls.cc: - * plugins/ladspa_effect/caps/Sin.cc: - * plugins/ladspa_effect/caps/Clip.h: - * plugins/ladspa_effect/caps/Sin.h: - * plugins/ladspa_effect/caps/Scape.cc: - * plugins/ladspa_effect/caps/Scape.h: - * plugins/ladspa_effect/caps/Roessler.cc: - * plugins/ladspa_effect/caps/interface.cc: - * plugins/ladspa_effect/caps/waves/click.h: - * plugins/ladspa_effect/caps/waves/money.h: - * plugins/ladspa_effect/caps/dsp/ToneStack.h: - * plugins/ladspa_effect/caps/dsp/LatFilt.h: - * plugins/ladspa_effect/caps/dsp/TDFII.h: - * plugins/ladspa_effect/caps/dsp/RMS.h: - * plugins/ladspa_effect/caps/dsp/OnePole.h: - * plugins/ladspa_effect/caps/dsp/tonestack/tables.h: - * plugins/ladspa_effect/caps/dsp/tonestack/vs_tab.h: - * plugins/ladspa_effect/caps/dsp/tonestack/ks_tab.h: - * plugins/ladspa_effect/caps/dsp/Eq.h: - * plugins/ladspa_effect/caps/dsp/BiQuad.h: - * plugins/ladspa_effect/caps/dsp/util.h: - * plugins/ladspa_effect/caps/dsp/FPTruncateMode.h: - * plugins/ladspa_effect/caps/dsp/TwelveAX7.h: - * plugins/ladspa_effect/caps/Chorus.cc: - * plugins/ladspa_effect/caps/Cabinet.cc: - * plugins/ladspa_effect/caps/Chorus.h: - * plugins/ladspa_effect/caps/Eq.cc: - * plugins/ladspa_effect/caps/Cabinet.h: - * plugins/ladspa_effect/caps/Eq.h: - * plugins/ladspa_effect/caps/README: - * plugins/ladspa_effect/caps/Pan.cc: - * plugins/ladspa_effect/caps/SweepVF.cc: - * plugins/ladspa_effect/caps/Descriptor.h: - * plugins/ladspa_effect/caps/White.cc: - * plugins/ladspa_effect/caps/SweepVF.h: - * plugins/ladspa_effect/caps/Phaser.h: - * plugins/ladspa_effect/caps/Reverb.cc: - * plugins/ladspa_effect/caps/Makefile.am: - * plugins/ladspa_effect/caps/Reverb.h: - integrated new version of CAPS and fixed miscompilation with GCC 4.3 - - * include/audio_port.h: - * src/audio/audio_port.cpp: - * src/core/mixer.cpp: - lock audioPort-buffers before writing them - - * include/export_project_dialog.h: - * src/core/song.cpp: - * src/core/main.cpp: - * src/core/export_project_dialog.cpp: - * src/core/engine.cpp: - * src/core/automation_pattern.cpp: - rendering from commandline is now done without creating main-window - and all the other UI-stuff - - * include/mixer.h: - * src/core/mixer.cpp: - distribute whole job-queue instead of single jobs and re-assign - unprocessed jobs to idle worker-threads - improves multi-threading - behaviour a lot - -2008-02-26 Tobias Doerffel - - * include/mixer.h: - * src/core/mixer.cpp: - initial support for parallel rendering via worker-threads - far from - being perfect (especially with small mixer-period-sizes) but seems to - help even on a DualCore machine - -2008-02-25 Tobias Doerffel - - * plugins/ladspa_browser/ladspa_browser.cpp: - * plugins/ladspa_browser/ladspa_browser.h: - incorporated recent API-changes - - * include/effect.h: - * include/instrument_functions.h: - * include/envelope_and_lfo_parameters.h: - * include/tempo_sync_knob.h: - * src/widgets/envelope_and_lfo_view.cpp: - * src/widgets/tempo_sync_knob.cpp: - * src/core/envelope_and_lfo_parameters.cpp: - * src/core/effect.cpp: - * src/core/instrument_functions.cpp: - splitted tempoSyncKnob into tempoSyncKnobModel and tempoSyncKnob - - * include/meter_dialog.h: - * src/core/meter_dialog.cpp: - splitted into meterModel and meterDialog - - * plugins/flp_import/flp_import.cpp: - * include/instrument_track.h: - * include/piano.h: - * src/tracks/instrument_track.cpp: - * src/core/piano_roll.cpp: - * src/core/piano.cpp: - * Makefile.am: - renamed piano_widget.{h,cpp} to piano.{h,cpp} - - * include/instrument_view.h: - * include/instrument_track.h: - * src/widgets/instrument_function_views.cpp: - * src/widgets/group_box.cpp: - * src/widgets/automatable_button.cpp: - * src/tracks/instrument_track.cpp: - fixed various crashes when removing instrument-track with visible - instrument-track-window or loading another instrument/preset - - * src/core/instrument.cpp: - * include/oscillator.h: - cleanups - - * src/lib/mmp.cpp: - fixed tag-renaming-loops - - * include/automatable_model_templates.h: - instantiate automation-pattern before loading settings of it - fixes - crashes when loading projects with automation inside - - * include/instrument_track.h: - * src/tracks/instrument_track.cpp: - track-window-creation on-demand - makes loading/unloading projects - ultra-fast!! - - * plugins/triple_oscillator/triple_oscillator.cpp: - fixed wrong index for saving/restoring modulation-algo-settings - - now projects sound like they did in pre-MV - - * include/automation_editor.h: - * include/combobox.h: - * src/core/song.cpp: - * src/core/piano_roll.cpp: - * src/core/track.cpp: - * src/core/automation_editor.cpp: - fixed zooming-comboboxes in automation-editor and header-dependencies - - * src/widgets/combobox.cpp: - update() after wheelEvent - - * include/tool.h: - * src/core/tool.cpp: - * plugins/live_tool/live_tool.h: - * plugins/live_tool/live_tool.cpp: - made live-tool work after M/V-split - - * include/track.h: - * src/core/track.cpp: - - connect track's m_mutedModel to m_muteBtn of trackOperationsWidget - - set track for m_mutedModel - -2008-02-24 Paul Giblock - - * plugins/bit_invader/bit_invader.cpp: - * plugins/bit_invader/bit_invader.h: - * plugins/bit_invader/Makefile.am: - M/V-split of Bit Invader instrument. - - * plugins/vibed/nine_button_selector.cpp: - Removed debug output - - * src/widgets/graph.cpp: - * include/graph.h: - Fixed some graph issues. Still more left to do - -2008-02-22 Paul Giblock - - * plugins/vibed/vibed.cpp: - * plugins/vibed/vibed.h: - * plugins/vibed/string_container.cpp: - * plugins/vibed/string_container.h: - * plugins/vibed/nine_button_selector.cpp: - * plugins/vibed/nine_button_selector.h: - * plugins/vibed/Makefile.am: - M/V-split of Vibed-instrument. Lacks user-specified wave, to be added on - my next commit. Also has an audio output bug, certain notes make weird - noises - - * plugins/stereo_enhancer/stereoenhancer_controls.cpp: - * plugins/stereo_enhancer/stereoenhancer_controls.h: - * plugins/stereo_enhancer/stereo_enhancer.cpp: - * plugins/stereo_enhancer/stereo_enhancer.h: - * plugins/stereo_enhancer/stereoenhancer_control_dialog.cpp: - * plugins/stereo_enhancer/stereoenhancer_control_dialog.h: - * plugins/stereo_enhancer/Makefile.am: - M/V-split of Stereo-enhancer effect. - - * src/core/piano_roll.cpp: - Changed quantization to change on the gridlines, instead of nearest-point - in the middle. Made this change here, because MIDI events should still be - quantized to nearest-point (I think) - - * src/widgets/graph.cpp: - * include/graph.h: - * Makefile.am: - Split graph and moved it to the shared widgets. Supports variable ranges, - sample-lengths, smoothing, normalizing, and is antialiased - -2008-02-18 Tobias Doerffel - - * plugins/ladspa_effect/ladspa_subplugin_features.h: - * plugins/ladspa_effect/ladspa_subplugin_features.cpp: - * plugins/vst_effect/vst_control_dialog.h: - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/audio_file_processor/audio_file_processor.h: - * include/plugin.h: - * include/audio_file_device.h: - * include/export.h: - * include/export_project_dialog.h: - * src/core/song.cpp: - * src/core/export_project_dialog.cpp: - coding-style improvements - - * src/core/main_window.cpp: - made song-export work again - - * plugins/patman/patman.cpp: - * plugins/patman/patman.h: - M/V-split of Patman-instrument - -2008-02-18 Tobias Doerffel - - * plugins/flp_import/flp_import.h: - * plugins/flp_import/flp_import.cpp: - * plugins/midi_import/midi_import.h: - * plugins/midi_import/midi_import.cpp: - * include/instrument_functions.h: - * include/song.h: - * include/envelope_and_lfo_parameters.h: - * include/instrument_sound_shaping.h: - made MIDI- and FLP-import-filter work - -2008-02-15 Paul Giblock - * plugins/plucked_string_synth/plucked_string_synth.cpp: - * plugins/plucked_string_synth/plucked_string_synth.h: - * plugins/organic/organic.cpp: - * plugins/organic/organic.h: - - Updated some instruments for M/V. Unfortunately one is an old version - and the other is obsoleted - -2008-02-16 Tobias Doerffel - - * plugins/ladspa_effect/ladspa_controls.cpp: - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/stk/Makefile.am: - * include/mmp.h: - * include/instrument_midi_io_view.h: - * include/track.h: - * include/engine.h: - * include/name_label.h: - * include/instrument_track.h: - * include/instrument_functions.h: - * include/piano_widget.h: - * include/song.h: - * include/pattern.h: - * include/file_browser.h: - * include/envelope_and_lfo_parameters.h: - * include/envelope_and_lfo_view.h: - * include/instrument_sound_shaping.h: - * include/instrument_function_views.h: - * include/instrument_midi_io.h: - * include/bb_track.h: - * include/song_editor.h: - * include/dummy_instrument.h: - * include/journalling_object.h: - * include/sample_track.h: - * include/timeline.h: - * include/main_window.h: - * include/mv_base.h: - * include/bb_editor.h: - * include/arp_and_chords_tab_widget.h: - * include/automation_track.h: - * include/track_container.h: - * include/instrument_sound_shaping_view.h: - * configure.in: - * src/midi/midi_alsa_seq.cpp: - * src/lib/project_journal.cpp: - * src/lib/mmp.cpp: - * src/lib/journalling_object.cpp: - * src/widgets/instrument_sound_shaping_view.cpp: - * src/widgets/envelope_and_lfo_view.cpp: - * src/widgets/instrument_function_views.cpp: - * src/widgets/instrument_midi_io_view.cpp: - * src/widgets/project_notes.cpp: - * src/widgets/effect_rack_view.cpp: - * src/widgets/automatable_button.cpp: - * src/widgets/tempo_sync_knob.cpp: - * src/tracks/automation_track.cpp: - * src/tracks/sample_track.cpp: - * src/tracks/bb_track.cpp: - * src/tracks/instrument_track.cpp: - * src/tracks/pattern.cpp: - * src/core/arp_and_chords_tab_widget.cpp: - * src/core/preset_preview_play_handle.cpp: - * src/core/note_play_handle.cpp: - * src/core/track_container.cpp: - * src/core/song.cpp: - * src/core/import_filter.cpp: - * src/core/file_browser.cpp: - * src/core/envelope_and_lfo_parameters.cpp: - * src/core/mixer.cpp: - * src/core/main.cpp: - * src/core/export_project_dialog.cpp: - * src/core/instrument_sound_shaping.cpp: - * src/core/piano_roll.cpp: - * src/core/instrument_functions.cpp: - * src/core/instrument_midi_io.cpp: - * src/core/track.cpp: - * src/core/engine.cpp: - * src/core/timeline.cpp: - * src/core/instrument.cpp: - * src/core/piano_widget.cpp: - * src/core/main_window.cpp: - * src/core/song_editor.cpp: - * src/core/mv_base.cpp: - * src/core/automation_pattern.cpp: - * src/core/name_label.cpp: - * src/core/automation_editor.cpp: - * src/core/bb_editor.cpp: - * Makefile.am: - finally splitted rest of LMMS, i.e. tracks, track-containers, - track-content-objects, whole instrument-track/instrument-track-window - and so on - still a bit unstable but I'm sure we'll manage to get this - one very stable! - - diffstat says: - 79 files changed, 8019 insertions(+), 6226 deletions(-) - -2008-02-01 Danny McRae - - * Makefile.am: - * src/tracks/instrument_track.cpp: - * src/core/note_play_handle.cpp: - * src/core/envelope_and_lfo_parameters.cpp: - * src/core/mixer.cpp: - * src/core/instrument_sound_shaping.cpp: - * src/core/instrument_midi_io.cpp: - * src/core/song_editor.cpp: - Some of the files have been renamed, so I updated the - include references to get the build to work again. - - * include/basic_filters.h: - Added the ability to clear the filter taps to support - a LPF where the threshold is set by the velocity of - the note. - - * configure.in: - * plugins/stk/voices/resonate/resonate_processor.h: - * plugins/stk/voices/voices/resonate/resonate_instrument.h: - * plugins/stk/voices/voices/resonate/resonate_model.cpp: - * plugins/stk/voices/voices/resonate/resonate_instrument_view.cpp: - * plugins/stk/voices/voices/resonate/artwork.png: - * plugins/stk/voices/voices/resonate/resonate_processor.cpp: - * plugins/stk/voices/voices/resonate/resonate_instrument_view.h: - * plugins/stk/voices/voices/resonate/resonate_instrument.cpp: - * plugins/stk/voices/voices/resonate/logo.png: - * plugins/stk/voices/voices/resonate/resonate_model.h: - * plugins/stk/voices/voices/resonate/Makefile.am: - * plugins/stk/voices/voices/flute/artwork.png: - * plugins/stk/voices/voices/flute/flute_processor.cpp: - * plugins/stk/voices/voices/flute/flute_instrument_view.h: - * plugins/stk/voices/voices/flute/flute_model.h: - * plugins/stk/voices/voices/flute/flute_processor.h: - * plugins/stk/voices/voices/flute/flute_model.cpp: - * plugins/stk/voices/voices/flute/logo.png: - * plugins/stk/voices/voices/flute/flute_instrument.h: - * plugins/stk/voices/voices/flute/Makefile.am: - * plugins/stk/voices/voices/flute/flute_instrument_view.cpp: - * plugins/stk/voices/voices/flute/flute_instrument.cpp: - * plugins/stk/voices/voices/metal/metal_processor.h: - * plugins/stk/voices/voices/metal/metal_instrument.cpp: - * plugins/stk/voices/voices/metal/metal_processor.cpp: - * plugins/stk/voices/voices/metal/artwork.png: - * plugins/stk/voices/voices/metal/metal_instrument_view.cpp: - * plugins/stk/voices/voices/metal/metal_instrument.h: - * plugins/stk/voices/voices/metal/logo.png: - * plugins/stk/voices/voices/metal/metal_instrument_view.h: - * plugins/stk/voices/voices/metal/metal_model.cpp: - * plugins/stk/voices/voices/metal/Makefile.am: - * plugins/stk/voices/voices/metal/metal_model.h: - * plugins/stk/voices/voices/fmvoices/fmvoices_instrument.cpp: - * plugins/stk/voices/voices/fmvoices/fmvoices_processor.h: - * plugins/stk/voices/voices/fmvoices/fmvoices_instrument.h: - * plugins/stk/voices/voices/fmvoices/artwork.png: - * plugins/stk/voices/voices/fmvoices/fmvoices_instrument_view.h: - * plugins/stk/voices/voices/fmvoices/fmvoices_instrument_view.cpp: - * plugins/stk/voices/voices/fmvoices/logo.png: - * plugins/stk/voices/voices/fmvoices/fmvoices_processor.cpp: - * plugins/stk/voices/voices/fmvoices/fmvoices_model.cpp: - * plugins/stk/voices/voices/fmvoices/fmvoices_model.h: - * plugins/stk/voices/voices/fmvoices/Makefile.am: - * plugins/stk/voices/voices/moog/moog_instrument_view.h: - * plugins/stk/voices/voices/moog/moog_instrument_view.cpp: - * plugins/stk/voices/voices/moog/moog_model.cpp: - * plugins/stk/voices/voices/moog/moog_processor.h: - * plugins/stk/voices/voices/moog/artwork.png: - * plugins/stk/voices/voices/moog/logo.png: - * plugins/stk/voices/voices/moog/moog_model.h: - * plugins/stk/voices/voices/moog/moog_instrument.h: - * plugins/stk/voices/voices/moog/moog_instrument.cpp: - * plugins/stk/voices/voices/moog/moog_processor.cpp: - * plugins/stk/voices/voices/moog/Makefile.am: - * plugins/stk/voices/voices/include/stk_instrument_view.h: - * plugins/stk/voices/voices/include/stk_voice.h: - * plugins/stk/voices/voices/include/stk_instrument.h: - * plugins/stk/voices/voices/include/stk_model.h: - * plugins/stk/voices/voices/include/stk_processor.h: - * plugins/stk/voices/voices/wurley/wurley_instrument.h: - * plugins/stk/voices/voices/wurley/wurley_instrument_view.cpp: - * plugins/stk/voices/voices/wurley/wurley_model.cpp: - * plugins/stk/voices/voices/wurley/wurley_instrument_view.h: - * plugins/stk/voices/voices/wurley/wurley_model.h: - * plugins/stk/voices/voices/wurley/artwork.png: - * plugins/stk/voices/voices/wurley/wurley_processor.h: - * plugins/stk/voices/voices/wurley/logo.png: - * plugins/stk/voices/voices/wurley/Makefile.am: - * plugins/stk/voices/voices/wurley/wurley_processor.cpp: - * plugins/stk/voices/voices/wurley/wurley_instrument.cpp: - * plugins/stk/voices/voices/bowed/bowed_instrument.cpp: - * plugins/stk/voices/voices/bowed/bowed_model.cpp: - * plugins/stk/voices/voices/bowed/bowed_instrument_view.cpp: - * plugins/stk/voices/voices/bowed/bowed_model.h: - * plugins/stk/voices/voices/bowed/bowed_processor.h: - * plugins/stk/voices/voices/bowed/artwork.png: - * plugins/stk/voices/voices/bowed/bowed_processor.cpp: - * plugins/stk/voices/voices/bowed/logo.png: - * plugins/stk/voices/voices/bowed/bowed_instrument_view.h: - * plugins/stk/voices/voices/bowed/Makefile.am: - * plugins/stk/voices/voices/bowed/bowed_instrument.h: - * plugins/stk/voices/voices/blow_hole/blow_hole_instrument.cpp: - * plugins/stk/voices/voices/blow_hole/blow_hole_instrument_view.cpp: - * plugins/stk/voices/voices/blow_hole/artwork.png: - * plugins/stk/voices/voices/blow_hole/blow_hole_model.h: - * plugins/stk/voices/voices/blow_hole/blow_hole_processor.h: - * plugins/stk/voices/voices/blow_hole/logo.png: - * plugins/stk/voices/voices/blow_hole/blow_hole_processor.cpp: - * plugins/stk/voices/voices/blow_hole/blow_hole_instrument_view.h: - * plugins/stk/voices/voices/blow_hole/blow_hole_model.cpp: - * plugins/stk/voices/voices/blow_hole/Makefile.am: - * plugins/stk/voices/voices/blow_hole/blow_hole_instrument.h: - * plugins/stk/voices/voices/rhodey/rhodey_instrument_view.h: - * plugins/stk/voices/voices/rhodey/rhodey_processor.h: - * plugins/stk/voices/voices/rhodey/rhodey_processor.cpp: - * plugins/stk/voices/voices/rhodey/rhodey_instrument_view.cpp: - * plugins/stk/voices/voices/rhodey/artwork.png: - * plugins/stk/voices/voices/rhodey/rhodey_model.cpp: - * plugins/stk/voices/voices/rhodey/rhodey_model.h: - * plugins/stk/voices/voices/rhodey/rhodey_instrument.h: - * plugins/stk/voices/voices/rhodey/logo.png: - * plugins/stk/voices/voices/rhodey/rhodey_instrument.cpp: - * plugins/stk/voices/voices/rhodey/Makefile.am: - * plugins/stk/voices/voices/tubebell/tubebell_processor.cpp: - * plugins/stk/voices/voices/tubebell/tubebell_instrument_view.h: - * plugins/stk/voices/voices/tubebell/artwork.png: - * plugins/stk/voices/voices/tubebell/tubebell_instrument.h: - * plugins/stk/voices/voices/tubebell/tubebell_instrument.cpp: - * plugins/stk/voices/voices/tubebell/tubebell_model.h: - * plugins/stk/voices/voices/tubebell/logo.png: - * plugins/stk/voices/voices/tubebell/tubebell_model.cpp: - * plugins/stk/voices/voices/tubebell/tubebell_instrument_view.cpp: - * plugins/stk/voices/voices/tubebell/Makefile.am: - * plugins/stk/voices/voices/tubebell/tubebell_processor.h: - * plugins/stk/voices/voices/clarinet/clarinet_instrument.cpp: - * plugins/stk/voices/voices/clarinet/artwork.png: - * plugins/stk/voices/voices/clarinet/clarinet_processor.h: - * plugins/stk/voices/voices/clarinet/clarinet_processor.cpp: - * plugins/stk/voices/voices/clarinet/clarinet_instrument.h: - * plugins/stk/voices/voices/clarinet/clarinet_model.cpp: - * plugins/stk/voices/voices/clarinet/logo.png: - * plugins/stk/voices/voices/clarinet/clarinet_instrument_view.cpp: - * plugins/stk/voices/voices/clarinet/clarinet_model.h: - * plugins/stk/voices/voices/clarinet/Makefile.am: - * plugins/stk/voices/voices/clarinet/clarinet_instrument_view.h: - * plugins/stk/voices/voices/b3/b3_instrument.cpp: - * plugins/stk/voices/voices/b3/b3_model.h: - * plugins/stk/voices/voices/b3/b3_model.cpp: - * plugins/stk/voices/voices/b3/artwork.png: - * plugins/stk/voices/voices/b3/b3_instrument_view.h: - * plugins/stk/voices/voices/b3/logo.png: - * plugins/stk/voices/voices/b3/b3_processor.h: - * plugins/stk/voices/voices/b3/b3_instrument_view.cpp: - * plugins/stk/voices/voices/b3/b3_instrument.h: - * plugins/stk/voices/voices/b3/b3_processor.cpp: - * plugins/stk/voices/voices/b3/Makefile.am: - * plugins/stk/voices/voices/src/stk_model.cpp: - * plugins/stk/voices/voices/percflute/percflute_instrument.h: - * plugins/stk/voices/voices/percflute/percflute_model.h: - * plugins/stk/voices/voices/percflute/percflute_instrument_view.h: - * plugins/stk/voices/voices/percflute/percflute_processor.cpp: - * plugins/stk/voices/voices/percflute/percflute_processor.h: - * plugins/stk/voices/voices/percflute/artwork.png: - * plugins/stk/voices/voices/percflute/percflute_instrument_view.cpp: - * plugins/stk/voices/voices/percflute/percflute_instrument.cpp: - * plugins/stk/voices/voices/percflute/logo.png: - * plugins/stk/voices/voices/percflute/percflute_model.cpp: - * plugins/stk/voices/voices/percflute/Makefile.am: - * plugins/stk/voices/voices/blow_bottle/blow_bottle_processor.cpp: - * plugins/stk/voices/voices/blow_bottle/blow_bottle_model.h: - * plugins/stk/voices/voices/blow_bottle/blow_bottle_model.cpp: - * plugins/stk/voices/voices/blow_bottle/artwork.png: - * plugins/stk/voices/voices/blow_bottle/blow_bottle_processor.h: - * plugins/stk/voices/voices/blow_bottle/blow_bottle_instrument.h: - * plugins/stk/voices/voices/blow_bottle/blow_bottle_instrument_view.cpp: - * plugins/stk/voices/voices/blow_bottle/logo.png: - * plugins/stk/voices/voices/blow_bottle/blow_bottle_instrument_view.h: - * plugins/stk/voices/voices/blow_bottle/blow_bottle_instrument.cpp: - * plugins/stk/voices/voices/blow_bottle/Makefile.am: - * plugins/stk/voices/voices/Makefile.am: - * plugins/stk/voices/voices/brass/brass_instrument_view.h: - * plugins/stk/voices/voices/brass/brass_instrument.cpp: - * plugins/stk/voices/voices/brass/brass_processor.h: - * plugins/stk/voices/voices/brass/brass_processor.cpp: - * plugins/stk/voices/voices/brass/brass_instrument_view.cpp: - * plugins/stk/voices/voices/brass/artwork.png: - * plugins/stk/voices/voices/brass/brass_instrument.h: - * plugins/stk/voices/voices/brass/logo.png: - * plugins/stk/voices/voices/brass/brass_model.cpp: - * plugins/stk/voices/voices/brass/brass_model.h: - * plugins/stk/voices/voices/brass/Makefile.am: - * plugins/stk/voices/voices/bandedwg/bandedwg_processor.h: - * plugins/stk/voices/voices/bandedwg/bandedwg_instrument_view.h: - * plugins/stk/voices/voices/bandedwg/bandedwg_processor.cpp: - * plugins/stk/voices/voices/bandedwg/artwork.png: - * plugins/stk/voices/voices/bandedwg/bandedwg_model.h: - * plugins/stk/voices/voices/bandedwg/bandedwg_instrument.h: - * plugins/stk/voices/voices/bandedwg/bandedwg_instrument.cpp: - * plugins/stk/voices/voices/bandedwg/bandedwg_instrument_view.cpp: - * plugins/stk/voices/voices/bandedwg/logo.png: - * plugins/stk/voices/voices/bandedwg/bandedwg_model.cpp: - * plugins/stk/voices/voices/bandedwg/Makefile.am: - Started working on a multitimbral instrument that uses all of the - voices available in STK. Need to work out the differences in - level among the voices and figure out what the controls actually - do. Simplist way to do that was to build them as individual - instruments first. The models, views, and processors should be - reusable for the larger instrument. Except for bandedwg and - flute they all work, so if you're curious, add "voices" to the - Makefile.am in plugins/stk to get them to build. - -2007-01-30 Paul Giblock - - * plugins/organic/organic.cpp: - * plugins/organic/organic.h: - Began split on Organic. But doesn't show in instrument list - - * plugins/lb302/lb302.cpp: - Fixed comments - -2008-01-28 Paul Giblock - - * plugins/lb302/lb302.cpp: - * plugins/lb302/lb302.h: - finished LB302 M/V-split. however, more changes can be made to meet - the coding guidelines. Let's save this job for LB303 - - * include/automatable_model.h: - cleaned up code for boolModel - -2008-01-26 Tobias Doerffel - - * src/widgets/automatable_button.cpp: - - call updateButtons() after model-change - - use model()->value() rather than value() - - * plugins/triple_oscillator/triple_oscillator.cpp: - fixed upper boundaries for wave-shape- and modulation-algo-models - -2008-01-26 Tobias Doerffel - - * plugins/triple_oscillator/triple_oscillator.h: - * plugins/triple_oscillator/triple_oscillator.cpp: - initial M/V-split - lots of debugging and cleanups pending, however - basically works :) - - * include/transformable_auto_model.h: - added transformableAutoModel-class which is not used yet but might be - helpful in some cases in the future - - * include/oscillator.h: - * src/lib/oscillator.cpp: - - changed coding-style for enum-constants - - use model for external wave-shape- and modulation-algo-parameter - - * src/widgets/ladspa_control_view.cpp: - added missing header - - * src/widgets/automatable_button.cpp: - update buttons after changing button-group's value - -2008-01-24 Tobias Doerffel - - * include/types.h: - replaced own buggy valueRanges-calculations by numeric_limits-class - - * plugins/lb302/lb302.cpp: - fixed broken plugin-entry-point - - * configure.in: - * plugins/bass_booster/bass_booster.cpp: - * plugins/bass_booster/bassbooster_controls.cpp: - * plugins/stk/mallets/mallets.cpp: - * include/automatable_model.h: - * include/journalling_object.h: - * src/audio/audio_file_device.cpp: - * src/audio/audio_alsa.cpp: - * src/audio/audio_oss.cpp: - * src/audio/audio_port.cpp: - * src/audio/audio_jack.cpp: - * src/midi/midi_alsa_seq.cpp: - * src/lib/project_journal.cpp: - * src/lib/mmp.cpp: - * src/lib/drumsynth.cpp: - * src/widgets/group_box.cpp: - * src/tracks/instrument_track.cpp: - * src/core/effect_chain.cpp: - * src/core/preset_preview_play_handle.cpp: - * src/core/effect_control_dialog.cpp: - * src/core/setup_dialog.cpp: - * src/core/main.cpp: - * src/core/mixer.cpp: - * src/core/effect.cpp: - * src/core/timeline.cpp: - * src/core/effect_select_dialog.cpp: - * src/core/automation_editor.cpp: - * src/core/meter_dialog.cpp: - various fixes for GCC 4.3 - - * README: - cleanups / fixes - - * include/automatable_model.h: - cleanups / coding-style fixes - -2008-01-24 Paul Giblock - - * include/automatable_model.h: - * src/widgets/knob.cpp: - * src/core/arp_and_chords_tab_widget.cpp: - * src/core/effect.cpp: - * src/core/ladspa_control.cpp: - * src/core/envelope_tab_widget.cpp: - * plugins/audio_file_processor/audio_file_processor.cpp: - add boolModel subclass in order to simplify the constructor - - * plugins/lb302/lb302.cpp: - * plugins/lb302/lb302.h: - split lb302 for M/V. However, lmms_plugin_main() receives null data, - which means the instrumentTrack cannot be set.. - -2008-01-18 Tobias Doerffel - - * src/core/effect_chain.cpp: - * src/lib/mmp.cpp: - added upgrade-path in order to properly load projects not using the - new effect-data-structure - - * plugins/bass_booster/bass_booster.h: - * plugins/ladspa_effect/ladspa_effect.h: - * plugins/vst_effect/vst_effect.h: - removed nodeName()-function as effects must not overload it (they have - descriptors with they unique name in it) - - * include/effect_rack_view.h: - * src/widgets/effect_rack_view.cpp: - renamed updateView() to update() in order to also track - dataChanged()-signals of model without an additional connection - - * src/widgets/combobox.cpp: - fixed painting - - * src/widgets/ladspa_control_view.cpp: - * plugins/ladspa_effect/ladspa_control_dialog.cpp: - made control-layouting work again (did not work at all after Qt4-port) - - * src/core/ladspa_control.cpp: - added initialization for m_link-member-variable, optimized - linkEnabledModel-initialization - - * src/widgets/knob.cpp: - * plugins/ladspa_effect/ladspa_controls.cpp: - coding style fixes - - * Makefile.am: - moved ladspa_control_view.cpp to src/widgets/ - -2008-01-17 Tobias Doerffel - - * plugins/ladspa_effect/Makefile.am: - * plugins/ladspa_effect/ladspa_effect.h: - * plugins/ladspa_effect/ladspa_effect.cpp: - * plugins/ladspa_effect/ladspa_controls.h: - * plugins/ladspa_effect/ladspa_controls.cpp: - * plugins/ladspa_effect/ladspa_control_dialog.h: - * plugins/ladspa_effect/ladspa_control_dialog.cpp: - made work again after all the changes in the last days... - - * Makefile.am: - * include/ladspa_control.h: - * include/ladspa_control_view.h: - * src/core/ladspa_control.cpp: - * src/core/ladspa_control_view.cpp: - splitted ladspaControl-class into ladspaControl and ladspaControlView - -2008-01-14 Tobias Doerffel - - * plugins/bass_booster/bassbooster_controls.h: - * plugins/bass_booster/bass_booster.cpp: - * plugins/bass_booster/bassbooster_control_dialog.cpp: - * plugins/bass_booster/Makefile.am: - * plugins/bass_booster/bassbooster_controls.cpp: - * plugins/bass_booster/bass_booster.h: - * plugins/bass_booster/bassbooster_control_dialog.h: - made work with M/V as well as rewritten effect-framework - - * include/effect.h: - * include/effect_control_dialog.h: - * include/dummy_effect.h: - * include/effect_controls.h: - * src/widgets/effect_view.cpp: - * src/core/effect_control_dialog.cpp: - * src/core/effect.cpp: - * Makefile.am: - split off effectControlDialog into effectControlDialog and - effectControls - - * src/core/song_editor.cpp: - also connect to dataUnchanged()-signal of tempo-model in order to - setup everything correct by connected slot - - * configure.in: - - removed single-source-compile-feature - - made FASTCALL-usage optional for the time being - - * data/locale/de.ts: - * data/locale/de.qm: - updated German localization - -2008-01-09 Paul Giblock - - * acinclude.m4: - use pkg-config for more accurate Qt directory detection - -2008-01-06 Tobias Doerffel - - * plugins/ladspa_effect/ladspa_effect.cpp: - * plugins/ladspa_effect/ladspa_effect.h: - * plugins/bass_booster/bass_booster.cpp: - * plugins/bass_booster/bass_booster.h: - * plugins/vst_effect/vst_effect.cpp: - changes for making effects work again with new effect-framework - - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/audio_file_processor/audio_file_processor.h: - * plugins/stk/mallets/mallets.cpp: - * plugins/stk/mallets/mallets.h: - * plugins/ladspa_browser/ladspa_browser.cpp: - * plugins/ladspa_browser/ladspa_browser.h: - * plugins/kicker/kicker.cpp: - * plugins/kicker/kicker.h: - * include/dummy_plugin.h: - * include/instrument.h: - * include/plugin.h: - * include/tool.h: - * include/main_window.h: - * include/mv_base.h: - * include/dummy_instrument.h: - * src/core/plugin.cpp: - * src/core/tool.cpp: - * src/core/import_filter.cpp: - * src/core/instrument.cpp: - * src/core/surround_area.cpp: - * src/core/main_window.cpp: - moved createView()-functionality from instrument- to plugin-class - - * include/tab_widget.h: - code-formatting stuff - - * include/audio_port.h: - * include/instrument_track.h: - * include/sample_track.h: - * src/audio/audio_port.cpp: - * src/core/sample_play_handle.cpp: - * src/tracks/instrument_track.cpp: - * src/tracks/sample_track.cpp: - integrated new effect-framework - - * Makefile.am: - * include/dummy_effect.h: - * include/effect.h: - * include/effect_chain.h: - * include/effect_control_dialog.h: - * include/effect_label.h: - * include/effect_rack_view.h: - * include/effect_select_dialog.h: - * include/effect_tab_widget.h: - * include/effect_view.h: - * src/core/effect.cpp: - * src/core/effect_chain.cpp: - * src/core/effect_control_dialog.cpp: - * src/core/effect_select_dialog.cpp: - * src/core/effect_tab_widget.cpp: - * src/widgets/effect_label.cpp: - * src/widgets/effect_view.cpp: - * src/widgets/effect_rack_view.cpp: - rewrote view-component of effect-framework and removed effectTabWidget - - * include/automatable_model.h: - * src/widgets/automatable_slider.cpp: - * src/widgets/group_box.cpp: - * src/widgets/lcd_spinbox.cpp: - * src/widgets/combobox.cpp: - * src/widgets/knob.cpp: - * src/widgets/automatable_button.cpp: - pass model-pointer to modelView-constructor - -2008-01-05 Tobias Doerffel - - * plugins/organic/organic.cpp: - * plugins/bit_invader/bit_invader.cpp: - * plugins/vibed/vibed.cpp: - * plugins/triple_oscillator/triple_oscillator.cpp: - * plugins/stk/mallets/mallets.cpp: - make sure, pluginData-pointer is always initialized in playNote() - - * src/core/envelope_and_lfo_widget.cpp: - simple range-checking - -2008-01-04 Tobias Doerffel - - * plugins/ladspa_effect/ladspa_effect.cpp: - * plugins/ladspa_effect/ladspa_control_dialog.cpp: - * plugins/ladspa_effect/ladspa_control_dialog.h: - minor fixes in order to compile again with lately changed effect-API - - * src/core/effect_tab_widget.cpp: - * src/lib/mmp.cpp: - renabled XML-attribute "fxdisabled" to "fxenabled" - - * src/core/effect_tab_widget.cpp: - * include/effect_tab_widget.h: - made effects working again by using effect-chain's m_enabledModel as - model for effect-groupbox - - * include/effect_chain.h: - * src/core/effect_chain.cpp: - * src/core/effect_tab_widget.cpp: - removed bypassed-property and introduced m_enabledModel - - * include/effect.h: - - made lot of methods const - - renamed enabled() to isEnabled() - -2008-01-04 Tobias Doerffel - - * src/core/bb_editor.cpp: - fix missing pattern in new projects by also tracking - dataUnchanged()-signals of bbComboBoxModel - - * include/automatable_model_templates.h: - * include/mv_base.h: - added dataUnchanged()-signal which should be emitted in case new data - was not set for the model because it's been equal to old data - -2008-01-04 Tobias Doerffel - - * plugins/stk/mallets/mallets.h: - * plugins/stk/mallets/mallets.cpp: - fixed outstanding issues with LED-checkbox and its model - -2008-01-04 Tobias Doerffel - - * include/group_box.h: - * src/widgets/group_box.cpp: - removed animation-functionality as it's useless - - * src/core/arp_and_chords_tab_widget.cpp: - * src/core/envelope_tab_widget.cpp: - fixed boolModel-initializations - makes filter, arpeggio and chords - work again - -2008-01-03 Danny McRae - - * plugins/stk/mallets/mallets.h: - * plugins/stk/mallets/mallets.cpp: - made plugin work with M/V-architecture - -2008-01-03 Tobias Doerffel - - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/audio_file_processor/audio_file_processor.h: - made plugin work with M/V-architecture - - * include/engine.h: - * include/plugin.h: - * src/core/engine.cpp: - fixes regarding coding style guidelines - -2008-01-02 Tobias Doerffel - - * plugins/kicker/kicker.cpp: - * plugins/kicker/kicker.h: - made plugin work with M/V-architecture - - * include/instrument.h: - * include/dummy_instrument.h: - * include/mv_base.h: - * src/tracks/instrument_track.cpp: - * src/core/instrument.cpp: - M/V-split for instrument-tracks - -2008-01-02 Tobias Doerffel - - * include/dummy_effect.h: - * src/core/effect.cpp: - make dummyEffect really work in case we need it - -2008-01-02 Tobias Doerffel - - * include/knob.h: - * include/effect.h: - * include/automatable_slider.h: - * include/lcd_spinbox.h: - * include/meter_dialog.h: - * include/midi_tab_widget.h: - * include/instrument_track.h: - * include/ladspa_control.h: - * include/piano_widget.h: - * include/detuning_helper.h: - * include/sample_play_handle.h: - * include/piano_roll.h: - * include/group_box.h: - * include/envelope_tab_widget.h: - * include/song_editor.h: - * include/automatable_button.h: - * include/tempo_sync_knob.h: - * include/journalling_object.h: - * include/setup_dialog.h: - * include/export_project_dialog.h: - * include/pixmap_button.h: - * include/sample_track.h: - * include/surround_area.h: - * include/volume_knob.h: - * include/bb_editor.h: - * include/rack_plugin.h: - * include/arp_and_chords_tab_widget.h: - * include/envelope_and_lfo_widget.h: - * include/combobox.h: - * include/led_checkbox.h: - * configure.in: - * src/audio/audio_alsa.cpp: - * src/audio/audio_oss.cpp: - * src/audio/audio_jack.cpp: - * src/widgets/rack_plugin.cpp: - * src/widgets/automatable_slider.cpp: - * src/widgets/lcd_spinbox.cpp: - * src/widgets/group_box.cpp: - * src/widgets/combobox.cpp: - * src/widgets/led_checkbox.cpp: - * src/widgets/volume_knob.cpp: - * src/widgets/pixmap_button.cpp: - * src/widgets/knob.cpp: - * src/widgets/automatable_button.cpp: - * src/widgets/tempo_sync_knob.cpp: - * src/tracks/sample_track.cpp: - * src/tracks/instrument_track.cpp: - * src/core/arp_and_chords_tab_widget.cpp: - * src/core/envelope_and_lfo_widget.cpp: - * src/core/preset_preview_play_handle.cpp: - * src/core/note_play_handle.cpp: - * src/core/midi_tab_widget.cpp: - * src/core/setup_dialog.cpp: - * src/core/sample_play_handle.cpp: - * src/core/export_project_dialog.cpp: - * src/core/effect.cpp: - * src/core/piano_roll.cpp: - * src/core/track.cpp: - * src/core/ladspa_control.cpp: - * src/core/note.cpp: - * src/core/envelope_tab_widget.cpp: - * src/core/instrument.cpp: - * src/core/piano_widget.cpp: - * src/core/surround_area.cpp: - * src/core/song_editor.cpp: - * src/core/automation_pattern.cpp: - * src/core/effect_tab_widget.cpp: - * src/core/automation_editor.cpp: - * src/core/bb_editor.cpp: - * src/core/meter_dialog.cpp: - * Makefile.am: - adaption of M/V-architecture - - * include/automatable_object_templates.h: - * include/automatable_object.h: - removed as replaced by automatable_model.h and - automatable_model_templates.h - - * include/mv_base.h: - * src/core/mv_base.cpp: - * include/automatable_model.h: - * include/automatable_model_templates.h: - added base-files for new M/V-architecture - - * src/widgets/rack_plugin.cpp: - fixed wrong signal-slot-connection which made gate-parameter of - effects not working - - * src/core/track_container.cpp: - when removing tracks start removing at the end of track-vector (i.e. - use m_trackWidgets.last() instead of m_trackWidgets.first()) - speeds - up things *a lot* - - * README: - * src/core/about_dialog.cpp: - fixed version and extended copyright from 2007 to 2008 - -2007-12-18 Tobias Doerffel - - * plugins/midi_import/midi_import.cpp: - load Patman-plugin instead of TripleOsc and try to load patch - according to program-change-events - -2007-12-14 Paul Wayper - - * include/volume_knob.h: - * src/widgets/volume_knob.cpp: - * src/core/setup_dialog.cpp: - * data/locale/nl.ts: - * data/locale/it.ts: - * data/locale/ca.ts: - * data/locale/ru.ts: - * data/locale/de.ts: - * data/locale/sv.ts: - Changed dbV to dBV throughout - -2007-12-12 Javier Serrano Polo - - * include/setup_dialog.h: - * src/core/setup_dialog.cpp: - - removed negative wording in general settings - - removed GIMP references - - * data/locale/ca.ts: - updated translation - -2007-12-11 Javier Serrano Polo - - * include/automation_editor.h: - * include/piano_roll.h: - * src/core/automation_editor.cpp: - * src/core/piano_roll.cpp: - optimized paint events - - * data/themes/default/style.css: - * src/core/automation_editor.cpp: - * src/core/piano_roll.cpp: - use styled background - - * src/core/track_container.cpp: - update display after loading settings - -2007-12-07 Javier Serrano Polo - - * include/main_window.h: - * include/song_editor.h: - * src/core/file_browser.cpp: - * src/core/main_window.cpp: - * src/core/song_editor.cpp: - use custom modified project indicator, fixed - - * include/bb_editor.h: - * include/song_editor.h: - * include/track.h: - * include/track_container.h: - * src/core/bb_editor.cpp: - * src/core/song_editor.cpp: - * src/core/track.cpp: - * src/core/track_container.cpp: - * src/tracks/pattern.cpp: - * src/tracks/sample_track.cpp: - added layouts, fixes scrolling - - * include/track.h: - * include/track_container.h: - * src/core/bb_editor.cpp: - * src/core/song_editor.cpp: - * src/core/track.cpp: - * src/core/track_container.cpp: - * src/tracks/bb_track.cpp: - associate track containers with tracks directly - - * src/core/track.cpp: - * src/core/track_container.cpp: - * src/tracks/bb_track.cpp: - * src/tracks/instrument_track.cpp: - * src/tracks/sample_track.cpp: - simplified updateAfterTrackAdd() calls - - * data/themes/default/style.css: - * src/core/track.cpp: - use style sheet painting - - * include/track.h: - * src/core/track.cpp: - removed discouraged repaint() - - * include/bb_editor.h: - * include/song_editor.h: - * src/core/bb_editor.cpp: - * src/core/song_editor.cpp: - * src/widgets/project_notes.cpp: - use default close event handler - - * src/core/bb_editor.cpp: - * src/core/track.cpp: - removed trivial asserts - - * data/locale/ca.ts: - updated translation - -2007-11-27 Tobias Doerffel - - * include/plugin.h: - * include/base64.h: - * src/lib/base64.cpp: - fixed loading of base64-encoded data being generated via Qt3-version - of QDataStream-class - -2007-11-27 Javier Serrano Polo - - * include/main_window.h: - * include/song_editor.h: - * src/core/engine.cpp: - * src/core/main_window.cpp: - * src/core/song_editor.cpp: - * src/lib/project_journal.cpp: - added modified project indicator - - * include/ladspa_base.h: - * include/plugin.h: - * plugins/ladspa_effect/ladspa_effect.cpp: - * plugins/ladspa_effect/ladspa_subplugin_features.cpp: - * plugins/ladspa_effect/ladspa_subplugin_features.h: - fixed invalid key segfault - - * src/core/main_window.cpp: - fixed instrument track visual glitches when loading - - * include/instrument_track.h: - * src/tracks/instrument_track.cpp: - removed QMdiSubWindow inheritance, fixes MDI focus segfault - - * src/core/track_container.cpp: - fixed interrupted loading segfault - - * plugins/ladspa_effect/ladspa_effect.cpp: - * plugins/ladspa_effect/ladspa_effect.h: - removed singleton reference - - * src/core/config_mgr.cpp: - integrated mkPath() calls - - * plugins/ladspa_browser/ladspa_browser.cpp: - centralized title change - - * include/song_editor.h: - * src/core/song_editor.cpp: - reduced dependencies - - * data/locale/ca.ts: - updated translation - -2007-11-26 Paul Giblock - - * plugins/lb302/lb302.cpp: - * plugins/lb302/lb302.h: - reverted to old lb302. There is a bug in sound output, will look - into it, but I'd rather have a working repository - - * data/presets/LB302/Oh Synth.cs.xml: - new preset - -2007-11-24 Paul Giblock - - * plugins/lb302/lb302.cpp: - re-enabled lb302 background - - * plugins/lb302/artwork.png: - updated skin I had sitting around - -2007-11-23 Paul Giblock - - * plugins/lb302/lb302.cpp: - * plugins/lb302/lb302.h: - reformated code to match code style rules - - * src/widgets/tool_button.cpp: - improved appearance of toolbar buttons - -2007-11-23 Tobias Doerffel - - * plugins/ladspa_browser/ladspa_browser.cpp: - improved layout - - * src/widgets/tab_bar.cpp: - - improved layout - - change icon-size-property for tabButtons in order to make them look - as in 0.3.x - -2007-11-23 Javier Serrano Polo - - * Makefile.am: - * plugins/ladspa_browser/ladspa_browser.cpp: - * plugins/ladspa_browser/ladspa_browser.h: - * plugins/ladspa_browser/ladspa_description.cpp: - * plugins/ladspa_browser/ladspa_description.h: - * plugins/ladspa_browser/ladspa_port_dialog.cpp: - * plugins/ladspa_browser/ladspa_port_dialog.h: - * plugins/ladspa_browser/logo.png: - * plugins/ladspa_browser/Makefile.am: - * plugins/Makefile.am: - resurrected LADSPA browser - - * plugins/ladspa_effect/ladspa_subplugin_features.cpp: - minor simplification - - * src/core/song_editor.cpp: - * src/widgets/automatable_slider.cpp: - upgraded automatable sliders to Qt4 - - * configure.in: - * include/engine.h: - * plugins/Makefile.am: - * src/core/config_mgr.cpp: - * src/core/engine.cpp: - removed references to optional LADSPA support - - * data/themes/default/style.css: - * src/core/main_window.cpp: - moved workspace background to style sheet - - * src/core/main_window.cpp: - added workspace scroll bars - - * include/track_container.h: - * src/core/song_editor.cpp: - removed obsolete centralWiget() - - * plugins/live_tool/live_tool.cpp: - * plugins/live_tool/live_tool.h: - fixed i18n - - * plugins/live_tool/live_tool.cpp: - cosmetic changes - - * data/locale/ca.ts: - updated translation - - * resources/*: - removed unused images - -2007-11-22 Paul Giblock - - * src/widgets/text_float.cpp: - * src/core/track.cpp: - - fixed segfaults from clicking on track content objects after loading a - project. - - I don't have a copy of 3.1 to reference, so I don't know where the - textFloat is normally displayed. Feel free to adjust. - -2007-11-21 Tobias Doerffel - - * src/lib/sample_buffer.cpp: - - duplicate ASCII-string from file.toAscii().constData() in order to not - get corrupted - fixes random problems with loading OGG-files - - sample-visualization now floating-point-based - - * src/widgets/combobox.cpp: - fixed text-drawing - - * src/widgets/led_checkbox.cpp: - * src/widgets/tab_widget.cpp: - added workarounds for obviously non-working font-property - - * src/widgets/knob.cpp: - - knob::drawKnob( ... ) now completely works with floats - - use anti-aliasing when drawing tick - - * src/tracks/sample_track.cpp: - fixed painting of sample-TCO's - - * src/core/arp_and_chords_tab_widget.cpp: - removed obviously non-working comboBox::setFont( ... )-calls - - * src/core/envelope_and_lfo_widget.cpp: - use line-width of 1.5 instead of 2 for drawing LFO - - * src/core/main.cpp: - do not set default font-size - - * data/locale/de.ts: - * data/locale/de.qm: - fixed German localization - -2007-11-20 Javier Serrano Polo - - * include/drumsynth.h: - * licenses/drumsynth.LICENSE: - * src/lib/drumsynth.cpp: - relicensed under GPL, thanks to Paul Kellett. - - * src/lib/sample_buffer.cpp: - fixed Vorbis loading - - * include/effect_label.h: - * plugins/live_tool/live_tool.cpp: - * src/core/automation_editor.cpp: - * src/core/bb_editor.cpp: - * src/core/effect_tab_widget.cpp: - * src/core/main_window.cpp: - * src/core/song_editor.cpp: - * src/core/tool.cpp: - * src/widgets/effect_label.cpp: - * src/widgets/project_notes.cpp: - fixed MDI windows - - * include/main_window.h: - * src/core/automation_editor.cpp: - * src/core/main_window.cpp: - * src/core/piano_roll.cpp: - * src/core/song_editor.cpp: - fixed non-MDI mode - - * include/automatable_button.h: - * src/widgets/automatable_button.cpp: - inherit from QPushButton - - * include/tool.h: - * plugins/live_tool/live_tool.cpp: - * plugins/live_tool/live_tool.h: - * src/core/main_window.cpp: - * src/core/tool.cpp: - simplified tool interface - - * plugins/live_tool/live_tool.cpp: - fixed instrument toggling - - * plugins/live_tool/live_tool.cpp: - * plugins/live_tool/live_tool.h: - fixed focus bug - - * include/effect_label.h: - * src/widgets/effect_label.cpp: - simplified window management - - * include/effect_label.h: - * include/main_window.h: - * plugins/vst_base/lvsl_client.cpp: - * plugins/vst_effect/vst_effect.h: - * src/core/track_container.cpp: - reduced dependencies - - * data/samples/drumsynth/misc_bass/Makefile.am: - * data/samples/drumsynth/misc_claps/Makefile.am: - * data/samples/drumsynth/misc_electro/Makefile.am: - * data/samples/drumsynth/misc_fx/Makefile.am: - * data/samples/drumsynth/misc_hats/Makefile.am: - * data/samples/drumsynth/misc_perc/Makefile.am: - * data/samples/drumsynth/misc_synth/Makefile.am: - * data/samples/drumsynth/r_b/Makefile.am: - replaced more filenames with underscores, thanks to Vik. - -2007-11-20 Paul Giblock - - * src/core/main_window: - fixed flashing/moving windows on project load - - * src/core/song_editor.cpp: - inverted direction of master-volume and master-pitch sliders - -2007-11-19 Paul Giblock - - * plugins/midi_import/midi_import.cpp: - fixed debugging code so file would compile - -2007-11-18 Paul Giblock - - * include/track_container.h: - removed some obsolete functions - -2007-11-18 Tobias Doerffel - - * plugins/vst_base/lvsl_client.cpp: - fixed usage of QMdiArea instead of QWorkspace - - * include/main_window.h: - added inclusion of QMdiArea-header - - * include/track_container.h: - fixed some code to match coding-style-guidelines - - * acinclude.m4: - reverted Paul's private changes - -2007-11-18 Paul Giblock - - * plugins/ladspa_effect/ladspa_effect.h: - * plugins/bass_booster/bass_booster.h: - * plugins/stereo_enhancer/stereoenhancer_control_dialog.cpp - * plugins/stereo_enhancer/stereoenhancer_control_dialog.h - * include/main_window.h: - * include/instrument_track.h: - * include/track_container.h: - * src/widgets/rack_plugin.cpp: - * src/widgets/project_notes.cpp: - * src/widgets/tempo_sync_knob.cpp: - * src/tracks/instrument_track.cpp: - * src/tracks/pattern.cpp: - * src/core/track_container.cpp: - * src/core/tool.cpp: - * src/core/file_browser.cpp: - * src/core/main.cpp: - * src/core/piano_roll.cpp: - * src/core/main_window.cpp: - * src/core/song_editor.cpp: - * src/core/automation_pattern.cpp: - * src/core/automation_editor.cpp: - * src/core/bb_editor.cpp: - Replaced references to QWorkspace, made everything work with QMdiArea - - * include/main_window.h: - mainWindow::workspace() now returns a QMdiArea - - * include/rack_plugin.h: - Add m_subWindow to track QMdiSubWindow independently of the - control dialog - - * include/track_container.h: - Emulate centralWidget by returning this pointer - - * AUTHORS: - Added Paul Giblock as an author - - * src/core/track_container.cpp: - Adding a subwindow before the widget is fully constructed causes - problems: no icon, no geometry, and sometime multiple windows. - Force each subclass to do their own workspace()->addWindow() - - * src/core/main_window.cpp: - toggling of subWindows is performed on the parentWidgets. However, - things like instrumentTrack are actually QMdiSubWindows themselves - -2007-11-14 Javier Serrano Polo - - * configure.in: - * data/samples/drumsynth/*: - * data/samples/Makefile.am: - * include/drumsynth.h: - * include/sample_buffer.h: - * licenses/drumsynth.LICENSE: - * Makefile.am: - * plugins/audio_file_processor/audio_file_processor.cpp: - * src/lib/drumsynth.cpp: - * src/lib/sample_buffer.cpp: - imported DrumSynth from 0.3 branch - - * include/sample_buffer.h: - * plugins/audio_file_processor/artwork.png: - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/audio_file_processor/audio_file_processor.h: - * src/lib/sample_buffer.cpp: - dropped dot drawing method - - * src/lib/sample_buffer.cpp: - - fixed DrumSynth support when missing Vorbis - - use working line drawing method from 0.3 branch - - * plugins/audio_file_processor/audio_file_processor.cpp: - fixed sample display - - * src/core/track.cpp: - * src/core/track_container.cpp: - fixed track removal segfault - - * data/locale/ca.ts: - updated translation - -2007-11-12 Tobias Doerffel - - * plugins/stereo_enhancer/stereo_enhancer.h: - * plugins/stereo_enhancer/stereo_enhancer.cpp: - * plugins/stereo_enhancer/stereoenhancer_control_dialog.h: - * plugins/stereo_enhancer/stereoenhancer_control_dialog.cpp: - * plugins/stereo_enhancer/Makefile.am: - added StereoEnhancer-plugin from - Lou Herard - -2007-11-12 Tobias Doerffel - - * plugins/ladspa_effect/caps/basics.h: - * plugins/ladspa_effect/caps/interface.cc: - * configure.in: - small fixes for cross-compilation - - * Makefile.am: - * src/core/ladspa_base.cpp: - removed as obsolete - -2007-11-10 Javier Serrano Polo - - * Makefile.am: - * include/envelope_and_lfo_widget.h: - * include/pixmap_button.h: - * include/spc_bg_hndl_widget.h: - * include/tab_widget.h: - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/audio_file_processor/audio_file_processor.h: - * plugins/bit_invader/bit_invader.cpp: - * plugins/bit_invader/bit_invader.h: - * plugins/organic/organic.cpp: - * plugins/organic/organic.h: - * plugins/patman/patman.cpp: - * plugins/patman/patman.h: - * plugins/vestige/vestige.cpp: - * plugins/vestige/vestige.h: - * src/core/envelope_and_lfo_widget.cpp: - * src/widgets/group_box.cpp: - * src/widgets/knob.cpp: - * src/widgets/led_checkbox.cpp: - * src/widgets/pixmap_button.cpp: - * src/widgets/tab_widget.cpp: - removed obsolete specialBgHandlingWidget - - * src/core/main_window.cpp: - fixed label in save project dialog - - * data/themes/default/style.css: - * include/track.h: - * src/core/track.cpp: - turned more code into style sheet - - * data/themes/default/style.css: - * src/core/track.cpp: - reverted positioning in style sheet - - * data/themes/default/style.css: - restricted style inheritance - - * plugins/bass_booster/bassbooster_control_dialog.cpp: - * plugins/flp_import/unrtf/parse.c: - * plugins/vestige/vestige.h: - * plugins/vst_effect/vst_control_dialog.cpp: - * plugins/vst_effect/vst_effect.cpp: - * plugins/vst_effect/vst_subplugin_features.cpp: - removed Qt3 code - - * plugins/bit_invader/bit_invader.cpp: - * plugins/bit_invader/bit_invader.h: - * plugins/organic/organic.cpp: - * plugins/organic/organic.h: - * plugins/vestige/vestige.cpp: - reduced dependencies - - * plugins/bit_invader/bit_invader.cpp: - removed deprecated code - -2007-11-06 Javier Serrano Polo - - * include/track.h: - * src/core/track.cpp: - optimized trackOperationsWidget paint event - - * data/themes/default/style.css: - * src/core/track.cpp: - turned some code into style sheet - -2007-11-03 Javier Serrano Polo - - * plugins/singerbot/singerbot_proxy.cpp: - initial release, separate process to deal with Festival - - * plugins/singerbot/file.h: - initial release, file descriptor wrapper - - * plugins/singerbot/Makefile.am: - * plugins/singerbot/singerbot.cpp: - * plugins/singerbot/singerbot.h: - use external proxy - - * include/main_window.h: - * src/core/main_window.cpp: - upgraded recently opened files feature - - * include/main_window.h: - * src/core/main_window.cpp: - * src/core/song_editor.cpp: - fixed recently opened files segfault - - * include/mmp.h: - * src/lib/mmp.cpp: - simplified save extension handling - - * src/core/song_editor.cpp: - * src/lib/mmp.cpp: - fixed recently opened files bug (#1800364) - - * data/themes/default/style.css: - * data/themes/Makefile.am: - * include/config_mgr.h: - * src/core/config_mgr.cpp: - * src/core/main_window.cpp: - added style sheet support - - * include/caption_menu.h: - * src/widgets/caption_menu.cpp: - initial release, context menu with a caption - - * plugins/vibed/impulse_editor.cpp: - * plugins/vibed/nine_button_selector.cpp: - * plugins/vibed/vibed.cpp: - * src/core/piano_widget.cpp: - * src/core/surround_area.cpp: - * src/widgets/automatable_button.cpp: - * src/widgets/automatable_slider.cpp: - * src/widgets/combobox.cpp: - * src/widgets/knob.cpp: - * src/widgets/lcd_spinbox.cpp: - * src/widgets/rack_plugin.cpp: - * src/widgets/tempo_sync_knob.cpp: - use caption menu - - * src/core/main_window.cpp: - set workspace's background with its own method - - * acinclude.m4: - * include/file_browser.h: - * src/core/file_browser.cpp: - * src/core/main_window.cpp: - replaced Qt3-based file browser implementation - - * src/core/file_browser.cpp: - enabled match in directory content filter - - * src/widgets/automatable_slider.cpp: - fixed mouse release segfault - - * acinclude.m4: - * src/core/main.cpp: - assume Qt translations are properly configured - - * src/core/main.cpp: - use standard return values - - * src/core/config_mgr.cpp: - removed line breaks inside paragraphs, wrapping should work - - * src/audio/audio_alsa.cpp: - * src/midi/midi_alsa_seq.cpp: - removed discouraged alloca calls - - * include/main_window.h: - * include/rack_plugin.h: - * plugins/bass_booster/bass_booster.h: - * plugins/ladspa_effect/ladspa_effect.h: - * plugins/vst_base/lvsl_client.cpp: - * plugins/vst_effect/vst_effect.h: - * src/core/automation_editor.cpp: - * src/core/file_browser.cpp: - * src/core/main_window.cpp: - * src/core/piano_roll.cpp: - * src/core/surround_area.cpp: - * src/core/tool.cpp: - * src/core/track_container.cpp: - * src/tracks/instrument_track.cpp: - * src/widgets/combobox.cpp: - * src/widgets/effect_label.cpp: - * src/widgets/knob.cpp: - * src/widgets/project_notes.cpp: - * src/widgets/rack_plugin.cpp: - * src/widgets/tempo_sync_knob.cpp: - reduced include dependencies - - * plugins/flp_import/unrtf/attr.c: - * plugins/flp_import/unrtf/attr.h: - * plugins/flp_import/unrtf/convert.c: - * plugins/flp_import/unrtf/error.c: - * plugins/flp_import/unrtf/error.h: - * plugins/flp_import/unrtf/html.c: - * plugins/flp_import/unrtf/malloc.c: - * plugins/flp_import/unrtf/malloc.h: - * plugins/flp_import/unrtf/output.c: - * plugins/flp_import/unrtf/output.h: - * src/audio/audio_file_ogg.cpp: - replaced deprecated string conversions - - * plugins/lb302/lb302.cpp: - * src/widgets/kmultitabbar.cpp: - fixed different signedness comparison - - * plugins/lb302/lb302.cpp: - * plugins/midi_import/midi_import.cpp: - commented out unused variables - - * plugins/flp_import/unrtf/convert.c: - replaced empty conditional - - * src/widgets/kmultitabbar.cpp: - added copyright notice - - * src/core/automation_pattern.cpp: - * src/core/config_mgr.cpp: - * src/core/import_filter.cpp: - * src/core/ladspa_manager.cpp: - * src/core/setup_dialog.cpp: - * src/core/track.cpp: - * src/core/track_container.cpp: - * src/lib/sample_buffer.cpp: - * src/midi/midi_mapper.cpp: - * src/widgets/tab_bar.cpp: - * src/widgets/text_float.cpp: - removed old undefs - - * configure.in: - readded unsafe-loop-optimizations warning - - * data/locale/ca.ts: - updated translation - - * data/locale/qt_*.qm: - removed old Qt3 translations - -2007-10-30 Tobias Doerffel - - * src/core/note_play_handle.cpp: - fixed crash in case of framesLeft() being less or equal zero while - instrument::playNote is being called (e.g. when decreasing release - while a note is active) - -2007-10-04 Javier Serrano Polo - - * configure.in: - * plugins/vst_base/lvsl_client.cpp: - * plugins/vst_base/lvsl_server.cpp: - * plugins/vst_base/Makefile.am: - * src/lib/journalling_object.cpp: - amd64 fixes - - * plugins/vestige/vestige.cpp: - fixed loading deadlock - - * plugins/vst_base/Makefile.am: - renamed lvsl_server.c to lvsl_server.cpp - - * plugins/vst_base/lvsl_server.cpp: - restricted shared memory permissions - - * plugins/vst_base/communication.h: - improved string communication - - * configure.in: - look for wine header in system folder too - - * configure.in: - * Makefile.am: - * plugins/Makefile.am: - added extra plugins support - - * include/main_window.h: - * src/core/main_window.cpp: - use desktop services for online help - - * src/core/main_window.cpp: - - use background artwork - - updated wiki URL - - * src/core/automation_editor.cpp: - * src/core/piano_roll.cpp: - * src/tracks/instrument_track.cpp: - * src/widgets/effect_label.cpp: - fixed null workspace segfaults - - * plugins/stk/mallets/mallets.cpp: - enabled missing files message - - * src/core/main.cpp: - use processed argc/argv rather than deprecated functions - - * plugins/singerbot/singerbot.cpp: - detected heap corruption - - * data/locale/ca.ts: - updated translation - - * plugins/polyb302/polyb302.cpp: - * plugins/polyb302/polyb302.h: - dropped Qt3-support - - * plugins/polyb302/polyb302.cpp: - applied relevant LB302 changes - -2007-09-25 Tobias Doerffel - - * include/mixer.h: - * include/visualization_widget.h: - * src/core/mixer.cpp: - * src/widget/visualization_widget.cpp: - reworked code for retrieving current mixer-buffer for visualizing it - - do not use signal/slot-mechanism for passing pointer and use - currentReadBuffer() + mixer-mutex instead which probably fixes some - mixer-related crashes - - * src/widget/effect_label.cpp: - set window-title for effect-chain-windows of a sample-track etc. - -2007-09-16 Tobias Doerffel - - * plugins/ladspa_effect/ladspa_subplugin_features.cpp: - * include/effect_select_dialog.h: - * src/core/effect_select_dialog.cpp: - replaced Q3ListBox with QListWidget and made layouting-stuff of - plugin-description-widget working properly - - * data/locale/de.ts: - fixed some strings in German localization - -2007-09-03 Tobias Doerffel - - * plugins/patman/patman.cpp: - * plugins/audio_file_processor/audio_file_processor.cpp: - cleanups - - * plugins/ladspa_base: - * plugins/ladspa_base/Makefile.am: - removed - - * configure.in: - * Makefile.am: - * plugins/ladspa_effect/Makefile.am: - * src/core/engine.cpp: - * src/core/ladspa_base.cpp: - * src/core/ladspa_port_dialog.cpp: - * src/core/ladspa_2_lmms.cpp: - * src/core/ladspa_manager.cpp: - * src/core/ladspa_control.cpp: - * include/ladspa_manager.h: - * include/ladspa_2_lmms.h: - * include/ladspa_control.h: - * include/ladspa_port_dialog.h: - * include/ladspa_base.h: - moved all code from LADSPA-base-library into LMMS-core - -2007-09-02 Javier Serrano Polo - - * include/project_notes.h: - * src/widgets/project_notes.cpp: - made usable with Qt4 - -2007-08-26 Tobias Doerffel - - * plugins/patman/patman.cpp: - * plugins/patman/patman.h: - * plugins/ladspa_effect/ladspa_effect.cpp: - * plugins/ladspa_effect/ladspa_control_dialog.cpp: - * plugins/ladspa_effect/ladspa_effect.h: - * plugins/ladspa_effect/ladspa_control_dialog.h: - * plugins/ladspa_effect/ladspa_subplugin_features.cpp: - * plugins/organic/organic.cpp: - * plugins/lb302/lb302.cpp: - * plugins/bit_invader/graph.cpp: - * plugins/bit_invader/bit_invader.cpp: - * plugins/bit_invader/graph.h: - * plugins/vst_effect/vst_effect.h: - * plugins/vibed/graph.cpp: - * plugins/vibed/impulse_editor.h: - * plugins/vibed/nine_button_selector.h: - * plugins/vibed/vibed.h: - * plugins/vibed/graph.h: - * plugins/vibed/string_container.h: - * plugins/vibed/impulse_editor.cpp: - * plugins/vibed/nine_button_selector.cpp: - * plugins/vibed/vibed.cpp: - * plugins/triple_oscillator/triple_oscillator.cpp: - * plugins/singerbot/singerbot.h: - * plugins/singerbot/singerbot.cpp: - * plugins/live_tool/live_tool.cpp: - * plugins/ladspa_base/ladspa_manager.cpp: - * plugins/ladspa_base/ladspa_2_lmms.h: - * plugins/ladspa_base/ladspa_manager.h: - * plugins/ladspa_base/ladspa_control.cpp: - * plugins/ladspa_base/ladspa_port_dialog.cpp: - * plugins/ladspa_base/ladspa_control.h: - * plugins/ladspa_base/ladspa_port_dialog.h: - * plugins/ladspa_base/ladspa_2_lmms.cpp: - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/audio_file_processor/audio_file_processor.h: - * plugins/stk/mallets/mallets.cpp: - * plugins/stk/mallets/mallets.h: - * plugins/vestige/vestige.cpp: - * plugins/vst_base/lvsl_client.cpp: - * plugins/vst_base/lvsl_client.h: - * plugins/kicker/kicker.cpp: - * plugins/Makefile.am: - * plugins/flp_import/flp_import.h: - * plugins/flp_import/flp_import.cpp: - * plugins/midi_import/midi_import.h: - * plugins/midi_import/midi_import.cpp: - * include/mmp.h: - * include/knob.h: - * include/cpuload_widget.h: - * include/fade_button.h: - * include/templates.h: - * include/automatable_slider.h: - * include/lcd_spinbox.h: - * include/track.h: - * include/spc_bg_hndl_widget.h: - * include/note.h: - * include/tool_button.h: - * include/embed.h: - * include/name_label.h: - * include/midi_alsa_raw.h: - * include/gui_templates.h: - * include/visualization_widget.h: - * include/tab_widget.h: - * include/config_mgr.h: - * include/midi_tab_widget.h: - * include/import_filter.h: - * include/mixer.h: - * include/instrument_track.h: - * include/audio_port.h: - * include/instrument.h: - * include/text_float.h: - * include/piano_widget.h: - * include/sample_buffer.h: - * include/effect_select_dialog.h: - * include/automation_pattern.h: - * include/midi_mapper.h: - * include/nstate_button.h: - * include/plugin.h: - * include/clipboard.h: - * include/note_play_handle.h: - * include/side_bar.h: - * include/rack_view.h: - * include/pattern.h: - * include/string_pair_drag.h: - * include/audio_file_device.h: - * include/kmultitabbar.h: - * include/file_browser.h: - * include/base64.h: - * include/audio_jack.h: - * include/about_dialog.h: - * include/piano_roll.h: - * include/group_box.h: - * include/envelope_tab_widget.h: - * include/rubberband.h: - * include/bb_track.h: - * include/song_editor.h: - * include/project_notes.h: - * include/effect_tab_widget.h: - * include/kmultitabbar-qt3.h: - * include/automatable_button.h: - * include/midi_alsa_seq.h: - * include/tab_button.h: - * include/journalling_object.h: - * include/setup_dialog.h: - * include/export_project_dialog.h: - * include/rename_dialog.h: - * include/pixmap_button.h: - * include/tab_bar.h: - * include/effect_label.h: - * include/automatable_object_templates.h: - * include/sample_track.h: - * include/timeline.h: - * include/surround_area.h: - * include/main_window.h: - * include/audio_device.h: - * include/midi_client.h: - * include/automatable_object.h: - * include/automation_editor.h: - * include/midi_port.h: - * include/audio_sample_recorder.h: - * include/bb_editor.h: - * include/effect_chain.h: - * include/arp_and_chords_tab_widget.h: - * include/project_journal.h: - * include/plugin_browser.h: - * include/envelope_and_lfo_widget.h: - * include/preset_preview_play_handle.h: - * include/qt3support.h: - * include/track_container.h: - * include/combobox.h: - * include/side_bar_widget.h: - * include/play_handle.h: - * include/qxembed.h: - * include/xqmap.h: - * configure.in: - * src/audio/audio_file_device.cpp: - * src/audio/audio_alsa.cpp: - * src/audio/audio_oss.cpp: - * src/audio/audio_jack.cpp: - * src/midi/midi_client.cpp: - * src/midi/midi_mapper.cpp: - * src/midi/midi_oss.cpp: - * src/midi/midi_alsa_seq.cpp: - * src/midi/midi_alsa_raw.cpp: - * src/lib/string_pair_drag.cpp: - * src/lib/base64.cpp: - * src/lib/mmp.cpp: - * src/lib/journalling_object.cpp: - * src/lib/sample_buffer.cpp: - * src/lib/embed.cpp: - * src/widgets/rack_plugin.cpp: - * src/widgets/automatable_slider.cpp: - * src/widgets/visualization_widget.cpp: - * src/widgets/group_box.cpp: - * src/widgets/lcd_spinbox.cpp: - * src/widgets/rubberband.cpp: - * src/widgets/tool_button.cpp: - * src/widgets/combobox.cpp: - * src/widgets/text_float.cpp: - * src/widgets/tab_widget.cpp: - * src/widgets/rack_view.cpp: - * src/widgets/led_checkbox.cpp: - * src/widgets/side_bar_widget.cpp: - * src/widgets/project_notes.cpp: - * src/widgets/volume_knob.cpp: - * src/widgets/kmultitabbar.cpp: - * src/widgets/qxembed.cpp: - * src/widgets/rename_dialog.cpp: - * src/widgets/pixmap_button.cpp: - * src/widgets/nstate_button.cpp: - * src/widgets/knob.cpp: - * src/widgets/automatable_button.cpp: - * src/widgets/tempo_sync_knob.cpp: - * src/widgets/fade_button.cpp: - * src/widgets/cpuload_widget.cpp: - * src/widgets/tab_bar.cpp: - * src/widgets/tooltip.cpp: - * src/tracks/sample_track.cpp: - * src/tracks/bb_track.cpp: - * src/tracks/instrument_track.cpp: - * src/tracks/pattern.cpp: - * src/core/plugin.cpp: - * src/core/arp_and_chords_tab_widget.cpp: - * src/core/plugin_browser.cpp: - * src/core/envelope_and_lfo_widget.cpp: - * src/core/preset_preview_play_handle.cpp: - * src/core/track_container.cpp: - * src/core/config_mgr.cpp: - * src/core/midi_tab_widget.cpp: - * src/core/effect_control_dialog.cpp: - * src/core/import_filter.cpp: - * src/core/setup_dialog.cpp: - * src/core/file_browser.cpp: - * src/core/main.cpp: - * src/core/mixer.cpp: - * src/core/export_project_dialog.cpp: - * src/core/about_dialog.cpp: - * src/core/piano_roll.cpp: - * src/core/track.cpp: - * src/core/engine.cpp: - * src/core/note.cpp: - * src/core/timeline.cpp: - * src/core/envelope_tab_widget.cpp: - * src/core/surround_area.cpp: - * src/core/piano_widget.cpp: - * src/core/effect_select_dialog.cpp: - * src/core/main_window.cpp: - * src/core/song_editor.cpp: - * src/core/automation_pattern.cpp: - * src/core/name_label.cpp: - * src/core/effect_tab_widget.cpp: - * src/core/automation_editor.cpp: - * src/core/bb_editor.cpp: - * acinclude.m4: - * Makefile.am: - dropped Qt3-support and improved Qt4-support - -2007-08-23 Tobias Doerffel - - * configure.in: - bumped to 0.4.x development series - -2007-08-20 Tobias Doerffel - - * configure.in: - * README: - * lmms.spec.in: - finally made 0.3.0 release :) - - * Makefile.am: - added missing entry for 3rd-party samplerate.h - - * data/projects/cool_songs/Makefile.am: - * data/projects/covers/Makefile.am: - * data/projects/demos/Makefile.am: - * data/projects/misc/Makefile.am: - * data/projects/tutorials/Makefile.am: - added missing mmpz-wildcard - - * data/projects/covers/MonkeyIsland1-Intro.mmpz: - another cool cover - - * data/projects/covers/J.S.Bach-Preludium_and_Fugue_A-Minor.mmp: - removed - - * data/projects/covers/J.S.Bach-Preludium_and_Fugue_A-Minor.mmpz: - reworked - - * data/projects/demos/demo1.mmp: - * data/projects/demos/demo2.mmp: - * data/projects/demos/demo3.mmp: - * data/projects/cool_songs/Siegel-DreamWave.mmp: - updated - - * data/projects/misc/lb302quick.mmp: - * data/projects/demos/basses-demo.mmp: - removed because of really low-quality and/or duplicate - - * data/projects/demos/lb302quick.mmpz: - added another demo - - * data/projects/cool_songs/StrictProduction-Lamentelnes.mmp: - * data/projects/cool_songs/StrictProduction-DearJonDoe.mmp: - * data/projects/cool_songs/OrtalDj-FirstProyect.mmp: - * data/projects/cool_songs/Siegel-SpeedTrack.mmp: - * data/projects/cool_songs/Chris-RaveRiff.mmpz: - * data/projects/cool_songs/MysthR-Living.mmpz: - * data/projects/cool_songs/j1m-DingDong.mmp: - * data/projects/cool_songs/BlueWolf-DreamTravel.mmp: - * data/projects/cool_songs/Silva-ElvesCall.mmp: - added some more really cool projects - - * data/samples/drums/bassdrum04.ogg: - resampled to end at zero-level - fixes clicks in some projects - - * data/samples/drums/nasty_bass01.ogg: - * data/samples/drums/nasty_snare01.ogg: - * data/samples/drums/rim01.ogg: - * data/samples/drums/ride02.ogg: - * data/samples/drums/nasty_rim01.ogg: - * data/samples/drums/hihat_opened03.ogg - * data/samples/misc/applause01.ogg: - added samples - - * data/presets/TripleOscillator/SawLead.cs.xml: - * data/presets/TripleOscillator/SawLead2.cs.xml: - * data/presets/TripleOscillator/HardClipping.cs.xml: - * data/presets/TripleOscillator/PowerStrings.cs.xml: - * data/presets/TripleOscillator/SquareLead.cs.xml: - * data/presets/TripleOscillator/SquareLead2.cs.xml: - added some presets - - * plugins/lb302/lb302.cpp: - removed debug-out - - * plugins/audio_file_processor/audio_file_processor.h: - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/bit_invader/bit_invader.h: - * plugins/bit_invader/bit_invader.cpp: - added applyRelease(...)-call in playNote(...) and - re-implemented desiredReleaseFrames()-method - - * include/mmp.h: - * src/lib/mmp.cpp: - * src/tracks/instrument_track.cpp: - * src/core/main_window.cpp: - * src/core/song_editor.cpp: - fixed some bugs concerning recent-files-list - -2007-08-20 dieEasy - - * data/locale/it.ts: - updated Italian localization-file - -2007-08-19 Tobias Doerffel - - * data/locale/de.ts: - * data/locale/de.qm: - updated German localization-file - - * Makefile.am: - fixed command for updating TS-files - - * include/config_mgr.h: - * include/main_window.h: - * src/core/config_mgr.cpp: - * src/core/main_window.cpp: - added support for "Recently opened files"-menu - - * src/core/main_window.cpp: - - cleanups - - limit x-coordinate of a widget to be >= 0 in - mainWindow::restoreWidgetState( ... ) - fixes bug with appearently - inacccessible title-bars of piano-roll, song-editor etc. after - loading project - - * include/config_mgr.h: - * src/core/engine.cpp: - also destroy config-manager at engine::destroy() - - * src/audio/audio_jack.cpp: - added define for support for per-track audio-ports - almost works - except that the buffers of the audio-port are already cleared again at - the time the callback fills the buffers - will need an additional - buffer in audio-ports or something like that - - * src/core/mixer.cpp: - * src/lib/journalling_object.cpp: - * src/lib/project_journal.cpp: - * src/widgets/knob.cpp: - removed debug-out - - * plugins/patman/patman.cpp: - set directory of sample-selection-dialog to /usr/share/midi/freepats - if it exists - - * configure.in: - * plugins/Makefile.am: - * plugins/vibed/vibed.cpp: - * lib/src/mmp.cpp: - replaced obsolete PluckedStringSynth with Vibed - - * configure.in: - * plugins/Makefile.am: - removed Polyb302 from build as the same results can be achieved either - via (improved and maintained) LB302 or TripleOsc+filter - Polyb302 - just increases redundancy and adds extra maintainance-work - - * plugins/stk/mallets/mallets.cpp: - do not crash if Stk-files are missing - -2007-08-18 Tobias Doerffel - - * plugins/lb302/lb302.cpp: - * plugins/lb302/lb302.h: - - rewrote code for monophonic behaviour (calculation of position at - which to resume states etc.) - - added some debugging-stuff - - * src/core/mixer.cpp: - remove play-handles *after* we played all play-handles - - * src/tracks/instrument_track.cpp: - fixed a bug in monophonic behaviour - -2007-08-16 Tobias Doerffel - - * include/instrument.h: - * src/tracks/instrument_track.cpp: - reverted previous changes (behaviour with monophonic instruments) - -2007-08-06 Tobias Doerffel - - * plugins/triple_oscillator/triple_oscillator.h: - * plugins/triple_oscillator/triple_oscillator.cpp: - use new applyRelease()-method - - * include/instrument.h: - * src/core/instrument.cpp: - added method instrument::applyRelease( ... ) which applies a release - on given buffer according to the value returned by - desiredReleaseFrames() - instruments can use this easily by simply - calling this method before calling - getInstrumentTrack()->processAudioBuffer() - - * src/core/preset_preview_play_handle.cpp: - * src/tracks/instrument_track.cpp: - use only half of valueRange::max because otherwise we have - overflows at several places - - * src/core/note_play_handle.cpp: - fixed framesLeft()-method to return correct values if plugin has - desiredReleaseFrames() > 0 - - * include/note_play_handle.h: - cleanups - - * configure.in: - bumped to 0.3.0-rc2 - - * src/lib/mmp.cpp: - added more compat-code to upgrade() for being able to properly open - files created by 0.0.9 and the whole 0.1.x-series - - * plugins/flp_import/flp_import.cpp: - * include/arp_and_chords_tab_widget.h: - * src/core/arp_and_chords_tab_widget.cpp: - * src/lib/mmp.cpp: - cleaned up all the arpeggio-direction-hacks - now the values are UP - (0) to RANDOM (3) at *all* places - required some compat-hacks in - mmp-upgrade()-method - - * include/file_browser.h: - * src/core/file_browser.cpp: - protect m_previewPlayHandle with mutex - fixes crash when releasing - mouse button on preset-file with VST-plugin/-effect while VST-plugin - is still loading - -2007-08-04 Tobias Doerffel - - * src/widget/visualization_widget.cpp: - proper visualization even with period-sizes < 128 - - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/bit_invader/bit_invader.cpp: - * plugins/kicker/kicker.cpp: - * plugins/lb302/lb302.cpp: - * plugins/patman/patman.cpp: - * plugins/plucked_string_synth/plucked_string_synth.cpp: - * plugins/polyb302/polyb302.cpp: - * plugins/singerbot/singerbot.cpp: - * plugins/stk/mallets/mallets.cpp: - * plugins/vibed/vibed.cpp: - removed check for framesLeftForCurrentPeriod() being zero - fixed by - patch below - - * src/tracks/instrument_track.cpp: - - acquire mixer-lock while calling noteOff() in - instrumentTrack::processInEvent( ... ) - fixes asynchronously - modifications of variables in notePlayHandle which led to segfaults in - some cases - - when encountering old running notes on monophonic instruments only - clear the part of the audio-port-buffer where the new note will be - mixed in - -2007-08-03 Tobias Doerffel - - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/bit_invader/bit_invader.cpp: - * plugins/kicker/kicker.cpp: - * plugins/lb302/lb302.cpp: - * plugins/patman/patman.cpp: - * plugins/plucked_string_synth/plucked_string_synth.cpp: - * plugins/polyb302/polyb302.cpp: - * plugins/singerbot/singerbot.cpp: - * plugins/stk/mallets/mallets.cpp: - * plugins/vibed/vibed.cpp: - added check for framesLeftForCurrentPeriod() being zero - fixes - segfault in some cases - - * src/tracks/instrument_track.cpp: - - do not simply pass-through _frames-parameter, use - notePlayHandle::framesLeftForCurrentPeriod() if possible - - disabled basic envelopes for the time being - - better handling of monophonic instruments - - do not play new notePlayHandles directly, set offset instead and let - mixer manage the rest - - * src/tracks/sample_track.cpp: - do not play new samplePlayHandles directly, set offset instead and let - mixer manage the rest - - * include/note_play_handle.h: - - removed framesAhead-property - now replaced by offset-property of - base-class - - introduced methods framesLeft() and framesLeftForCurrentPeriod() - - proper usage of them in plugins etc. fixes more clicks/pops especially - in monophonic instruments (LB302!) - - * src/core/mixer.cpp: - call songEditor::processNextBuffer() *before* playing all play-handles - - * src/core/mixer.cpp: - * include/mixer.h: - extended clearAudioBuffer()-methods by offset - - * include/play_handle.h: - added offset-property - - * include/mixer.h: - * most other files: - renamed "framesPerAudioBuffer()" to "framesPerPeriod()" - - * include/types.h: - * most other files: - renamed type "fpab_t" to "fpp_t" - -2007-07-30 Tobias Doerffel - - * plugins/singerbot/singerbot.h: - * include/sample_buffer.h: - * include/audio_device.h: - * configure.in: - * acinclude.m4: - * Makefile.am: - use 3rd-party code if libsamplerate is not available on system - - * src/3rdparty/samplerate/src_linear.c: - * src/3rdparty/samplerate/samplerate.h: - * src/3rdparty/samplerate/fastest_coeffs.h: - * src/3rdparty/samplerate/src_sinc.c: - * src/3rdparty/samplerate/float_cast.h: - * src/3rdparty/samplerate/mid_qual_coeffs.h: - * src/3rdparty/samplerate/src_zoh.c: - * src/3rdparty/samplerate/high_qual_coeffs.h: - * src/3rdparty/samplerate/samplerate.c: - * src/3rdparty/samplerate/common.h: - added libsamplerate-source-code - -2007-07-29 Tobias Doerffel - - * configure.in: - - made 0.3.0-rc1 release - - replaced "+=" operator by according X="$X ..." constructs as older - bashes have problems with it - - * configure.in: - * Makefile.am: - * include/audio_device.h: - * include/sample_buffer.h: - * src/audio/audio_device.cpp: - * src/lib/sample_buffer.cpp: - removed already broken support for building LMMS without libsamplerate - - * acinclude.m4: - disabled Qt4-support - re-enable it / rewrite Qt4-detection code in - 0.4.x-devel-branch - -2007-07-23 Tobias Doerffel - - * plugins/midi_import/midi_import.h: - * plugins/midi_import/midi_import.cpp: - - when adding notes to pattern *never* let them be quantized - fixes - bug where notes of imported MIDI-files were not where they should have - been - - added support for tempo-change-events by modifying - automation-pattern of tempo-knob of track-container (if such exists) - - import track-names - - proper handling of time-base, -division etc. - - * include/midi.h: - added midiMetaEvents-enum - - * include/song_editor.h: - * include/track_container.h: - * src/core/song_editor.cpp: - added virtual tempoAutomationPattern()-method which returns - automation-pattern of tempo-object (i.e. bpmSpinBox) if such exists - for a certain track-container - - * include/automation_pattern.h: - - added non-const version of object()-method - - made lot of other methods const - -2007-07-21 Tobias Doerffel - - * include/mixer.h: - * src/core/mixer.cpp: - added more mutexes to protect all important data-structures more - granularly and safely - fixes some potential segfaults - - * src/tracks/instrument_track.cpp: - - lock mixer while loading instrument / track-specific settings - fixes - segfault when dragging preset/instrument plugin to existing track - while playing - - remove effects in loadTrackSpecificSettings() if none were in preset - (e.g. old preset-file) - - * include/rack_view.h: - * include/effect_tab_widget.h: - * src/widgets/rack_view.cpp: - - delete all existing plugins before adding new ones in - rackView::loadSettings() - - cleanups - - * configure.in: - cleanups - -2007-07-20 Tobias Doerffel - - * lmms.spec.in: - merged changes found in - https://sourceforge.net/tracker/download.php?group_id=105168&atid=640436&file_id=225331&aid=1702303 - - * configure.in: - - cleaned up and improved detection of WINE-development-files and/or - single components of it and removed aeffectx.h-detection-stuff as - not needed anymore - - changed warning on missing STK-files - - several improvements of output-texts - -2007-07-17 Tobias Doerffel - - * configure.in: - - removed unsafe flags - - disabled single-source-compiling per default - - * src/audio/audio_port.cpp: - initialize all member-variables in initialization-list of - audioPort-constructor - this way the audio-port isn't being added to - the mixer before it's completely initialized - fixes some segfaults - - * include/midi.h: - * plugins/midi_import/midi_import.h: - * plugins/midi_import/midi_import.cpp: - - initial incomplete handling for tempo-events - - properly aligned imported notes - -2007-07-16 Tobias Doerffel - - * src/core/mixer.cpp: - fixed logical error in mixer::renderNextBuffer() which led to lot of - clicks and pops when using parallelization-level > 1 - - * include/note_play_handle.h: - * src/tracks/instrument_track-cpp: - fixed broken detection of last period of a note which resulted in - clicks and pops as the soft fade-out at the end sometimes was done twice - -2007-05-12 Javier Serrano Polo - - * include/clipboard.h: - * include/mmp.h: - * include/note.h: - * include/piano_roll.h: - * src/core/note.cpp: - * src/core/piano_roll.cpp: - * src/lib/clipboard.cpp: - * src/lib/mmp.cpp: - use the global clipboard to copy notes - - * include/group_box.h: - * src/core/arp_and_chords_tab_widget.cpp: - * src/core/envelope_tab_widget.cpp: - * src/lib/mmp.cpp: - * src/widgets/group_box.cpp: - save groupbox automation - - * include/surround_area.h: - * src/core/surround_area.cpp: - * src/core/track.cpp: - * src/lib/mmp.cpp: - calculate volume vector in a more consistent way - - * src/core/track.cpp: - fixed drag track onto another segfault - - * include/piano_widget.h: - * src/core/piano_widget.cpp: - fixed release invalid key segfault - - * src/tracks/instrument_track.cpp: - fixed freeze pattern segfault - - * include/preset_preview_play_handle.h: - * src/core/engine.cpp: - * src/core/preset_preview_play_handle.cpp: - fixed uninitialized preset preview container segfault - - * include/main_window.h: - * src/core/main_window.cpp: - added Qt4 menu implementations - - * include/file_browser.h: - * include/qt3support.h: - * src/core/file_browser.cpp: - fixed Qt4 context menu - - * data/locale/ca.ts: - * src/tracks/pattern.cpp: - hide irrelevant freeze options from context menu - -2007-05-07 Javier Serrano Polo - - * include/audio_jack.h: - * include/effect.h: - * include/effect_chain.h: - * include/envelope_and_lfo_widget.h: - * include/instrument_track.h: - * include/mixer.h: - * include/pattern.h: - * include/sample_buffer.h: - * include/shared_object.h: - * plugins/ladspa_base/ladspa_control.cpp: - * plugins/ladspa_base/ladspa_control.h: - * plugins/ladspa_effect/ladspa_effect.cpp: - * src/audio/audio_jack.cpp: - * src/core/effect.cpp: - * src/core/effect_chain.cpp: - * src/core/envelope_and_lfo_widget.cpp: - * src/core/envelope_tab_widget.cpp: - * src/core/file_browser.cpp: - * src/core/mixer.cpp: - * src/core/piano_roll.cpp: - * src/core/song_editor.cpp: - * src/core/track.cpp: - * src/core/track_container.cpp: - * src/lib/oscillator.cpp: - * src/lib/sample_buffer.cpp: - * src/tracks/instrument_track.cpp: - * src/tracks/pattern.cpp: - - removed process locks - - use mixer lock if necessary - - * include/detuning_helper.h: - initial release, light replacement for the note detuning knob - - * Makefile.am: - * include/automatable_object.h: - * include/automatable_object_templates.h: - * include/note.h: - * include/note_play_handle.h: - * src/core/note.cpp: - * src/core/note_play_handle.cpp: - use detuning helpers - - * Makefile.am: - * include/note_play_handle.h: - * src/core/note_play_handle.cpp: - dropped QObject inheritance - - * include/note_play_handle.h: - * src/core/arp_and_chords_tab_widget.cpp: - * src/core/note_play_handle.cpp: - simplified subnote creation - - * include/pattern.h: - * include/piano_roll.h: - * src/core/piano_roll.cpp: - * src/tracks/instrument_track.cpp: - note list became read-only - - * include/oscillator.h: - * plugins/organic/organic.cpp: - * plugins/triple_oscillator/triple_oscillator.cpp: - * src/lib/oscillator.cpp: - use references instead of pointers - - * include/oscillator.h: - * include/sample_buffer.h: - use read-only user waveform - - * include/custom_events.h: - initial release, custom events list - - * include/update_event.h: - initial release, allow thread-safe GUI updates - - * Makefile.am: - * include/fade_button.h: - * include/piano_widget.h: - * src/core/piano_widget.cpp: - * src/widgets/fade_button.cpp: - use thread-safe GUI updates - - * include/automation_editor.h: - * include/piano_roll.h: - * src/core/automation_editor.cpp: - * src/core/piano_roll.cpp: - simplified paint event - - * include/instrument.h: - * include/instrument_play_handle.h: - * include/mixer.h: - * include/note_play_handle.h: - * include/play_handle.h: - * include/preset_preview_play_handle.h: - * include/sample_play_handle.h: - * include/track.h: - * plugins/vestige/vestige.cpp: - * src/core/instrument.cpp: - * src/core/mixer.cpp: - * src/core/note_play_handle.cpp: - * src/core/preset_preview_play_handle.cpp: - * src/core/sample_play_handle.cpp: - * src/tracks/bb_track.cpp: - * src/tracks/instrument_track.cpp: - * src/tracks/sample_track.cpp: - simplified handle removal - - * include/mixer.h: - - removed duplicate playHandles() - - removed unnecessary private copy constructor - - * include/track.h: - * include/track_container.h: - * src/core/track.cpp: - * src/core/track_container.cpp: - simplified track clonation - - * include/track.h: - * src/core/track.cpp: - simplified track removal - - * include/instrument_track.h: - * include/note_play_handle.h: - * src/core/note_play_handle.cpp: - * src/tracks/instrument_track.cpp: - - moved piano widget control to instrument track - - calculate frequencies in note play handle - - * include/note_play_handle.h: - * plugins/organic/organic.cpp: - * plugins/triple_oscillator/triple_oscillator.cpp: - public note frequency became read-only - - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/bit_invader/bit_invader.cpp: - * plugins/lb302/lb302.cpp: - * plugins/patman/patman.cpp: - * plugins/plucked_string_synth/plucked_string_synth.cpp: - * plugins/polyb302/polyb302.cpp: - * plugins/singerbot/singerbot.cpp: - * plugins/stk/mallets/mallets.cpp: - * plugins/vibed/vibed.cpp: - use precalculated note frequency - - * include/automatable_object_templates.h: - reduced XML size for single-valued patterns - - * src/core/automation_pattern.cpp: - * src/tracks/automation_pattern.cpp: - - moved to core - - initialize copy constructor - - * include/automation_pattern.h: - * src/core/automation_pattern.cpp: - - show read-only data - - disconnect single-valued patterns from track - - * include/level_object.h: - * src/core/automation_pattern.cpp: - added display name - - * include/project_version.h: - * src/lib/project_version.cpp: - initial release, compare application versions - - * include/mmp.h: - * src/core/arp_and_chords_tab_widget.cpp: - * src/core/song_editor.cpp: - * src/lib/mmp.cpp: - * src/tracks/sample_track.cpp: - added upgrade feature - - * Makefile.am: - * src/lmms_single_source.cpp: - - moved automation pattern to core - - added project version - - * include/arp_and_chords_tab_widget.h: - * include/audio_jack.h: - * include/audio_oss.h: - * include/audio_port.h: - * include/audio_sdl.h: - * include/automatable_slider.h: - * include/automation_editor.h: - * include/automation_pattern.h: - * include/config_mgr.h: - * include/effect.h: - * include/effect_control_dialog.h: - * include/effect_label.h: - * include/effect_tab_widget.h: - * include/engine.h: - * include/envelope_tab_widget.h: - * include/fifo_buffer.h: - * include/instrument.h: - * include/instrument_track.h: - * include/level_object.h: - * include/main_window.h: - * include/meter_dialog.h: - * include/midi_dummy.h: - * include/midi_event_processor.h: - * include/midi_port.h: - * include/mixer.h: - * include/note_play_handle.h: - * include/pattern.h: - * include/piano_roll.h: - * include/piano_widget.h: - * include/plugin.h: - * include/preset_preview_play_handle.h: - * include/rack_plugin.h: - * include/rack_view.h: - * include/sample_play_handle.h: - * include/sample_track.h: - * include/side_bar.h: - * include/surround_area.h: - * include/tempo_sync_knob.h: - * include/tool.h: - * include/track_container.h: - * include/volume_knob.h: - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/bass_booster/bassbooster_control_dialog.cpp: - * plugins/bit_invader/bit_invader.cpp: - * plugins/flp_import/flp_import.cpp: - * plugins/kicker/kicker.cpp: - * plugins/ladspa_base/ladspa_control.cpp: - * plugins/ladspa_base/ladspa_control.h: - * plugins/ladspa_base/ladspa_manager.h: - * plugins/ladspa_effect/ladspa_control_dialog.h: - * plugins/lb302/lb302.cpp: - * plugins/lb302/lb302.h: - * plugins/organic/organic.cpp: - * plugins/patman/patman.cpp: - * plugins/plucked_string_synth/plucked_string_synth.cpp: - * plugins/polyb302/polyb302.cpp: - * plugins/polyb302/polyb302.h: - * plugins/singerbot/singerbot.cpp: - * plugins/singerbot/singerbot.h: - * plugins/stk/mallets/mallets.cpp: - * plugins/stk/mallets/mallets.h: - * plugins/triple_oscillator/triple_oscillator.cpp: - * plugins/vestige/vestige.cpp: - * plugins/vestige/vestige.h: - * plugins/vibed/impulse_editor.cpp: - * plugins/vibed/vibed.cpp: - * plugins/vst_effect/vst_control_dialog.cpp: - * plugins/vst_effect/vst_effect.cpp: - * plugins/vst_effect/vst_subplugin_features.cpp: - * src/core/automation_pattern.cpp: - * src/core/effect_control_dialog.cpp: - * src/core/effect_tab_widget.cpp: - * src/core/envelope_tab_widget.cpp: - * src/core/midi_tab_widget.cpp: - * src/core/piano_widget.cpp: - * src/core/plugin.cpp: - * src/core/surround_area.cpp: - * src/core/track.cpp: - * src/tracks/instrument_track.cpp: - * src/tracks/sample_track.cpp: - * src/widgets/automatable_slider.cpp: - * src/widgets/effect_label.cpp: - * src/widgets/rack_plugin.cpp: - * src/widgets/tempo_sync_knob.cpp: - reduced dependencies - - * plugins/ladspa_base/ladspa_manager.cpp: - * plugins/lb302/lb302.cpp: - * plugins/lb302/lb302.h: - * src/audio/audio_port.cpp: - * src/core/engine.cpp: - * src/midi/midi_client.cpp: - * src/tracks/instrument_track.cpp: - * src/widgets/knob.cpp: - * src/widgets/rack_view.cpp: - fixed memory leaks - - * include/automatable_object_templates.h: - * plugins/plucked_string_synth/plucked_string_synth.cpp: - * plugins/singerbot/singerbot.cpp: - * plugins/vibed/vibrating_string.cpp: - * src/core/envelope_and_lfo_widget.cpp: - * src/lib/sample_buffer.cpp: - simplified deletions - - * include/song_editor.h: - * src/core/song_editor.cpp: - improved destructor workaround (still a workaround) - - * src/core/timeline.cpp: - avoid invalid reference - - * src/core/config_mgr.cpp: - removed invariant condition - - * src/core/automation_editor.cpp: - * src/core/envelope_and_lfo_widget.cpp: - * src/core/piano_roll.cpp: - reordered inline functions - - * src/core/plugin.cpp: - initialize dummy plugin subfeatures - - * include/effect_chain.h: - * src/core/effect_chain.cpp: - - normalized destructor - - renamed deleteEffect() to removeEffect(), the effect isn't deleted - actually - - simplified removeEffect() - - * src/widgets/rack_view.cpp: - simplified deletePlugin() - - * include/rack_plugin.h: - * src/widgets/rack_plugin.cpp: - - fixed hot insertion/removal - - simplified context menu - - * src/lib/project_journal.cpp: - initialize journalling state - - * include/arp_and_chords_tab_widget.h: - arpeggio directions are public - - * src/core/midi_tab_widget.cpp: - spin boxes are initially disabled - - * plugins/ladspa_base/ladspa_control.cpp: - * plugins/ladspa_effect/ladspa_control_dialog.cpp: - disabled link automation - - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/audio_file_processor/audio_file_processor.h: - - save/load start/end knobs automation - - don't reset start/end knob values when changing the sample file - - removed unused setStartAndEndKnob() - - * plugins/polyb302/polyb302.cpp: - * plugins/polyb302/polyb302.h: - removed slide toggle - - * include/effect_label.h: - * src/widgets/effect_label.cpp: - - delete related effect window - - display label text - - * include/audio_device.h: - * include/audio_dummy.h - * include/midi_client.h: - * include/midi_dummy.h: - hide empty settings box - - * include/pattern.h: - * plugins/flp_import/flp_import.cpp: - * src/tracks/pattern.cpp: - - simplified beat insertion/display - - removed unused functions - - * include/mixer.h: - * src/tracks/pattern.cpp: - render note tails in frozen patterns - - * plugins/organic/organic.cpp: - * plugins/organic/organic.h: - * plugins/triple_oscillator/triple_oscillator.cpp: - * plugins/triple_oscillator/triple_oscillator.h: - added oscillator objects - - * plugins/organic/organic.cpp: - * plugins/organic/organic.h: - - normalized member names - - simplified waveshape selection - - * include/automatable_object.h: - * include/knob.h: - * src/widgets/knob.cpp: - * src/widgets/volume_knob.cpp: - removed automatable object custom data - - * plugins/singerbot/singerbot.cpp: - * plugins/singerbot/singerbot.h: - - reworked play process without sample buffers - - retry wave generation on damaged environment - - * configure.in: - * plugins/ladspa_effect/Makefile.am: - added --without-caps configure option - - * configure.in: - added extra compilation warnings - - * include/qt3support.h: - removed (non-)bug comment - - * data/locale/ca.ts: - updated translation - -2007-04-25 Javier Serrano Polo - - * include/basic_filters.h: - * plugins/flp_import/flp_import.cpp: - * src/core/envelope_tab_widget.cpp: - simplified filtering - - * plugins/vst_base/lvsl_server.c: - clear output buffers before processing - - * plugins/vestige/vestige.cpp: - * plugins/vst_base/lvsl_client.cpp: - * plugins/vst_base/lvsl_client.h: - fixed sample rate change - - * data/locale/ca.ts: - updated translation - -2007-04-24 Javier Serrano Polo - - * include/buffer_allocator.h: - * src/lib/buffer_allocator.cpp: - removed, obsoleted by small audio buffers - - * Makefile.am: - * include/audio_device.h: - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/bit_invader/bit_invader.cpp: - * plugins/kicker/kicker.cpp: - * plugins/ladspa_effect/ladspa_effect.cpp: - * plugins/lb302/lb302.cpp: - * plugins/organic/organic.cpp: - * plugins/patman/patman.cpp: - * plugins/plucked_string_synth/plucked_string_synth.cpp: - * plugins/polyb302/polyb302.cpp: - * plugins/singerbot/singerbot.cpp: - * plugins/stk/mallets/mallets.cpp: - * plugins/stk/mallets/mallets.h: - * plugins/triple_oscillator/triple_oscillator.cpp: - * plugins/vestige/vestige.cpp: - * plugins/vibed/vibed.cpp: - * plugins/vibed/vibed.h: - * plugins/vibed/vibrating_string.cpp: - * plugins/vibed/vibrating_string.h: - * plugins/vst_effect/vst_effect.cpp: - * src/lmms_single_source.cpp: - * src/audio/audio_alsa.cpp: - * src/audio/audio_device.cpp: - * src/audio/audio_file_device.cpp: - * src/audio/audio_file_wave.cpp: - * src/audio/audio_jack.cpp: - * src/audio/audio_oss.cpp: - * src/audio/audio_port.cpp: - * src/audio/audio_sample_recorder.cpp: - * src/audio/audio_sdl.cpp: - * src/core/main_window.cpp: - * src/core/mixer.cpp: - * src/core/sample_play_handle.cpp: - * src/tracks/pattern.cpp: - * src/widgets/visualization_widget.cpp: - removed buffer allocator - - * include/automatable_object_templates.h: - initial release, templates extracted from automatable_object.h - - * Makefile.am: - * include/automatable_object.h: - * plugins/ladspa_base/ladspa_control.cpp: - * plugins/ladspa_effect/ladspa_effect.h: - * plugins/patman/patman.cpp: - * plugins/singerbot/singerbot.cpp: - * src/core/automation_editor.cpp: - * src/core/bb_editor.cpp: - * src/core/envelope_and_lfo_widget.cpp: - * src/core/export_project_dialog.cpp: - * src/core/note.cpp: - * src/core/note_play_handle.cpp: - * src/core/piano_roll.cpp: - * src/core/piano_widget.cpp: - * src/core/setup_dialog.cpp: - * src/core/song_editor.cpp: - * src/core/surround_area.cpp: - * src/core/track.cpp: - * src/tracks/instrument_track.cpp: - * src/tracks/sample_track.cpp: - * src/widgets/automatable_button.cpp: - * src/widgets/automatable_slider.cpp: - * src/widgets/combobox.cpp: - * src/widgets/effect_label.cpp: - * src/widgets/knob.cpp: - * src/widgets/lcd_spinbox.cpp: - * src/widgets/led_checkbox.cpp: - * src/widgets/pixmap_button.cpp: - * src/widgets/rack_plugin.cpp: - * src/widgets/tempo_sync_knob.cpp: - * src/widgets/volume_knob.cpp: - reduced dependencies on automatable object - - * src/audio/audio_device.cpp: - * src/core/export_project_dialog.cpp: - * src/core/mixer.cpp: - fixed deadlocks - - * include/audio_dummy.h: - don't process buffers - - * src/audio/audio_sample_recorder.cpp: - fixed high quality - - * include/basic_filters.h: - * include/envelope_and_lfo_widget.h: - * src/core/envelope_tab_widget.cpp: - simplified envelope processing - - * include/basic_filters.h: - - use samplerate member as sample rate - - reformatted - - * plugins/ladspa_effect/ladspa_subplugin_features.cpp: - reverted layout changes in QT3, fixes descriptions - - * plugins/triple_oscillator/artwork.png: - * plugins/triple_oscillator/triple_oscillator.cpp: - updated GUI - - * include/tempo_sync_knob.h: - * src/widgets/tempo_sync_knob.cpp: - graceful shutdown - - * src/widgets/automatable_button.cpp: - fixed undef - - * plugins/ladspa_effect/caps/Makefile.am: - use DESTDIR - -2007-04-21 Javier Serrano Polo - - * plugins/singerbot/singerbot.cpp: - * src/audio/audio_jack.cpp: - * src/audio/audio_sdl.cpp: - assume 1-case semaphores, fixes single source compilation - - * configure.in: - fixed --enable options - -2007-04-20 Tobias Doerffel - - * plugins/ladspa_effect/ladspa_subplugin_features.cpp: - * plugins/patman/patman.cpp: - * plugins/singerbot/singerbot.h: - * plugins/singerbot/singerbot.cpp: - * plugins/live_tool/live_tool.cpp: - * plugins/polyb302/polyb302.cpp: - * include/fifo_buffer.h: - * include/bb_track.h: - * include/audio_device.h: - * include/midi_client.h: - * include/qt3support.h: - * src/audio/audio_sdl.cpp: - * src/audio/audio_jack.cpp: - * src/core/note_play_handle.cpp: - * src/core/track_container.cpp: - * src/core/tool.cpp: - * src/core/setup_dialog.cpp: - * src/core/track.cpp: - * src/core/effect_select_dialog.cpp: - * src/core/main_window.cpp: - * src/widgets/rack_plugin.cpp: - * src/widgets/tool_button.cpp: - * src/widgets/rack_view.cpp: - * src/widgets/effect_label.cpp: - fixes for Qt4-version - - * plugins/midi_import/midi_import.cpp: - * src/core/automation_editor.cpp: - * src/core/piano_roll.cpp: - added inclusion of debug.h which includes assert.h for not failing to - compile on several platforms - -2007-04-20 Javier Serrano Polo - - * executable files: - removed executable property - -2007-04-19 Javier Serrano Polo - - * include/audio_port.h: - * include/automatable_button.h: - * include/automatable_object.h: - * include/automatable_slider.h: - * include/automation_editor.h: - * include/automation_pattern.h: - * include/bb_editor.h: - * include/bb_track.h: - * include/combobox.h: - * include/cpuload_widget.h: - * include/dummy_plugin.h: - * include/effect.h: - * include/effect_chain.h: - * include/effect_label.h: - * include/effect_select_dialog.h: - * include/engine.h: - * include/envelope_and_lfo_widget.h: - * include/export_project_dialog.h: - * include/file_browser.h: - * include/group_box.h: - * include/import_filter.h: - * include/instrument.h: - * include/journalling_object.h: - * include/knob.h: - * include/lcd_spinbox.h: - * include/led_checkbox.h: - * include/main_window.h: - * include/midi_alsa_raw.h: - * include/midi_alsa_seq.h: - * include/midi_client.h: - * include/midi_dummy.h: - * include/midi_oss.h: - * include/mixer.h: - * include/name_label.h: - * include/note.h: - * include/pattern.h: - * include/piano_roll.h: - * include/pixmap_button.h: - * include/plugin.h: - * include/plugin_browser.h: - * include/preset_preview_play_handle.h: - * include/project_journal.h: - * include/project_notes.h: - * include/rack_view.h: - * include/sample_buffer.h: - * include/sample_play_handle.h: - * include/setup_dialog.h: - * include/song_editor.h: - * include/string_pair_drag.h: - * include/surround_area.h: - * include/tempo_sync_knob.h: - * include/timeline.h: - * include/track_container.h: - * include/visualization_widget.h: - * include/volume_knob.h: - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/bass_booster/bass_booster.cpp: - * plugins/bass_booster/bass_booster.h: - * plugins/bass_booster/bassbooster_control_dialog.cpp - * plugins/bit_invader/bit_invader.cpp: - * plugins/bit_invader/graph.cpp: - * plugins/bit_invader/graph.h: - * plugins/flp_import/flp_import.cpp: - * plugins/kicker/kicker.cpp: - * plugins/ladspa_base/ladspa_2_lmms.cpp: - * plugins/ladspa_base/ladspa_2_lmms.h: - * plugins/ladspa_base/ladspa_base.h: - * plugins/ladspa_base/ladspa_control.cpp: - * plugins/ladspa_base/ladspa_control.h: - * plugins/ladspa_base/ladspa_manager.cpp: - * plugins/ladspa_base/ladspa_manager.h: - * plugins/ladspa_base/ladspa_port_dialog.cpp: - * plugins/ladspa_base/ladspa_port_dialog.h: - * plugins/ladspa_effect/ladspa_control_dialog.cpp: - * plugins/ladspa_effect/ladspa_effect.cpp: - * plugins/ladspa_effect/ladspa_effect.h: - * plugins/ladspa_effect/ladspa_subplugin_features.cpp: - * plugins/ladspa_effect/ladspa_subplugin_features.h: - * plugins/lb302/lb302.cpp: - * plugins/live_tool/live_tool.cpp: - * plugins/midi_import/midi_import.cpp: - * plugins/organic/organic.cpp: - * plugins/patman/patman.cpp: - * plugins/plucked_string_synth/plucked_string_synth.cpp: - * plugins/polyb302/polyb302.cpp: - * plugins/polyb302/polyb302.h: - * plugins/singerbot/singerbot.cpp: - * plugins/stk/mallets/mallets.cpp: - * plugins/triple_oscillator/triple_oscillator.cpp: - * plugins/vestige/vestige.cpp: - * plugins/vibed/graph.cpp: - * plugins/vibed/graph.h: - * plugins/vibed/impulse_editor.cpp: - * plugins/vibed/impulse_editor.h: - * plugins/vibed/nine_button_selector.cpp: - * plugins/vibed/nine_button_selector.h: - * plugins/vibed/vibed.cpp: - * plugins/vst_base/lvsl_client.cpp: - * plugins/vst_base/lvsl_client.h: - * plugins/vst_effect/vst_effect.cpp: - * plugins/vst_effect/vst_effect.h: - * plugins/vst_effect/vst_subplugin_features.cpp: - * plugins/vst_effect/vst_subplugin_features.h: - * src/audio/audio_alsa.cpp: - * src/audio/audio_jack.cpp: - * src/audio/audio_oss.cpp: - * src/audio/audio_port.cpp: - * src/audio/audio_sample_recorder.cpp: - * src/core/arp_and_chords_tab_widget.cpp: - * src/core/automation_editor.cpp: - * src/core/bb_editor.cpp: - * src/core/effect.cpp: - * src/core/effect_chain.cpp: - * src/core/effect_control_dialog.cpp: - * src/core/effect_select_dialog.cpp: - * src/core/effect_tab_widget.cpp: - * src/core/engine.cpp: - * src/core/envelope_and_lfo_widget.cpp: - * src/core/envelope_tab_widget.cpp: - * src/core/export_project_dialog.cpp: - * src/core/file_browser.cpp: - * src/core/import_filter.cpp: - * src/core/instrument.cpp: - * src/core/main.cpp: - * src/core/main_window.cpp: - * src/core/meter_dialog.cpp: - * src/core/midi_tab_widget.cpp: - * src/core/mixer.cpp: - * src/core/name_label.cpp: - * src/core/note.cpp: - * src/core/note_play_handle.cpp: - * src/core/piano_roll.cpp: - * src/core/piano_widget.cpp: - * src/core/plugin.cpp: - * src/core/plugin_browser.cpp: - * src/core/preset_preview_play_handle.cpp: - * src/core/sample_play_handle.cpp: - * src/core/setup_dialog.cpp: - * src/core/song_editor.cpp: - * src/core/surround_area.cpp: - * src/core/timeline.cpp: - * src/core/tool.cpp: - * src/core/track.cpp: - * src/core/track_container.cpp: - * src/lib/journalling_object.cpp: - * src/lib/project_journal.cpp: - * src/lib/sample_buffer.cpp: - * src/lib/string_pair_drag.cpp: - * src/midi/midi_alsa_raw.cpp: - * src/midi/midi_alsa_seq.cpp: - * src/midi/midi_client.cpp: - * src/midi/midi_oss.cpp: - * src/tracks/automation_pattern.cpp: - * src/tracks/bb_track.cpp: - * src/tracks/instrument_track.cpp: - * src/tracks/pattern.cpp: - * src/tracks/sample_track.cpp: - * src/widgets/automatable_button.cpp: - * src/widgets/automatable_slider.cpp: - * src/widgets/combobox.cpp: - * src/widgets/cpuload_widget.cpp: - * src/widgets/effect_label.cpp: - * src/widgets/group_box.cpp: - * src/widgets/knob.cpp: - * src/widgets/lcd_spinbox.cpp: - * src/widgets/led_checkbox.cpp: - * src/widgets/pixmap_button.cpp: - * src/widgets/project_notes.cpp: - * src/widgets/rack_plugin.cpp: - * src/widgets/rack_view.cpp: - * src/widgets/tempo_sync_knob.cpp: - * src/widgets/visualization_widget.cpp: - * src/widgets/volume_knob.cpp: - return of the singletons - - * include/fifo_buffer.h: - initial release, allows chunked audio buffer - - * include/audio_alsa.h: - * include/audio_device.h: - * include/audio_dummy.h: - * include/audio_jack.h: - * include/audio_oss.h: - * include/audio_sdl.h: - * include/mixer.h: - * src/audio/audio_alsa.cpp: - * src/audio/audio_device.cpp: - * src/audio/audio_jack.cpp: - * src/audio/audio_oss.cpp: - * src/audio/audio_sdl.cpp: - * src/core/mixer.cpp: - * src/core/setup_dialog.cpp: - use chunked audio buffer - - * src/core/mixer.cpp: - don't delete the audio device when changing quality, fixes JACK without - external server - - * include/sample_buffer.h: - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/patman/patman.cpp: - * src/lib/sample_buffer.cpp: - handle different sample rates, fixes many looping patch samples - - * src/core/sample_play_handle.cpp: - fixed high quality - - * plugins/patman/patman.cpp: - automated Loop and Tune modes - - * plugins/audio_file_processor/audio_file_processor.cpp: - automated Loop mode - - * src/core/automation_editor.cpp: - fixed selections - - * src/core/track_container.cpp: - use modularized sample extensions - - * include/string_pair_drag.h: - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/patman/patman.cpp: - * src/lib/string_pair_drag.cpp: - changed string pair MIME type - - * src/lib/mmp.cpp: - renamed root element - - * data/lmms.xml: - initial release, project MIME type - - * data/Makefile.am: - install project MIME type - - * data/lmms.desktop: - - added project MIME type - - added Catalan translation - - * include/oscillator.h: - * src/lib/oscillator.cpp: - got switches out of for-loops - - * include/arp_and_chords_tab_widget.h: - * include/effect_tab_widget.h: - * include/instrument_track.h: - * include/midi_tab_widget.h: - * include/track.h: - cleaned up dependencies - - * data/locale/ca.ts: - updated translation - -2007-04-07 Javier Serrano Polo - - * plugins/patman/artwork.png: - * plugins/patman/logo.png: - * plugins/patman/loop_off.png: - * plugins/patman/loop_on.png: - * plugins/patman/Makefile.am: - * plugins/patman/patman.cpp: - * plugins/patman/patman.h: - * plugins/patman/tune_off.png: - * plugins/patman/tune_on.png: - initial release, PatMan instrument plugin - - * include/sample_buffer.h: - * src/lib/sample_buffer.cpp: - - added start/end loop points, different from start/end sample points - - added sample frequency - - reworked resampling, fixes resampling underruns/clicks - - reused try-to-make-relative and try-to-make-absolute file handling - - reused samplerate conversion - - * include/sample_buffer.h: - * include/sample_play_handle.h: - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/audio_file_processor/audio_file_processor.h: - * plugins/singerbot/singerbot.cpp: - * src/core/sample_play_handle.cpp: - * src/lib/sample_buffer.cpp: - added per handle state - - * include/engine.h: - * include/file_browser.h: - * include/plugin.h: - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/audio_file_processor/audio_file_processor.h: - * src/core/engine.cpp: - * src/core/file_browser.cpp: - * src/core/main_window.cpp: - modularized sample extensions - - * plugins/audio_file_processor/audio_file_processor.cpp: - - check dragged file extension - - accept dragged files from desktop - - fit displayed file name in the background box - - * src/core/track_container.cpp: - fixed track swapping - - * src/tracks/bb_track.cpp: - fixed loading last bb-track name - - * include/pattern.h: - * src/tracks/pattern.cpp: - removed obsolete method - - * plugins/polyb302/polyb302.cpp: - * plugins/polyb302/polyb302.h: - simplified inclusions and comments - - * include/main_window.h: - cosmetic, grouped methods - - * data/locale/ca.ts: - updated translation - -2007-04-01 Tobias Doerffel - - * src/lmms_single_source.cpp: - moved inclusion of file_browser.cpp up as it has problems with headers - included by later files - -2007-03-28 Javier Serrano Polo - - * include/mixer.h: - * include/note_play_handle.h: - * src/core/note_play_handle.cpp: - * src/core/song_editor.cpp: - fixed notes with dynamic tempo - - * include/main_window.h: - * src/core/main_window.cpp: - added online help - - * include/file_browser.h: - * src/core/file_browser.cpp: - - filter directories without relevant content - - simplified entry retrieval - - * include/basic_filters.h: - limit Moog instability - - * src/core/main.cpp: - updated year - - * src/widgets/knob.cpp: - initialize members according to last arrangement - - * data/locale/ca.ts: - updated translation - -2007-03-26 Tobias Doerffel - - * configure.in: - fixed "typo" in help - -2007-03-25 Javier Serrano Polo - - * plugins/polyb302/artwork.png: - * plugins/polyb302/logo.png: - * plugins/polyb302/Makefile.am: - * plugins/polyb302/polyb302.cpp: - * plugins/polyb302/polyb302.h: - initial release, polyphonic version of lb302 plugin - - * include/instrument_track.h: - * include/note_play_handle.h: - * src/core/note_play_handle.cpp: - * src/tracks/instrument_track.cpp: - trigger detuning without signals - - * configure.in: - fixed singerbot error - - * include/knob.h: - arranged private/protected members - - * data/locale/ca.ts: - updated translation - -2007-03-07 Javier Serrano Polo - - * plugins/singerbot/singerbot.cpp: - fixed high quality play - - * data/locale/ca.ts: - shortened some words - -2007-02-28 Javier Serrano Polo - - * src/audio/audio_alsa.cpp: - * src/audio/audio_sdl.cpp: - fixed high quality play - - * include/audio_alsa.h: - * include/audio_device.h: - * include/audio_dummy.h: - * include/audio_jack.h: - * include/audio_oss.h: - * include/audio_sdl.h: - * include/midi_alsa_raw.h: - * include/midi_alsa_seq.h - * include/midi_client.h: - * include/midi_dummy.h: - * include/midi_oss.h: - * include/setup_dialog.h: - * src/core/setup_dialog.cpp: - save device names without localization - - * data/locale/ca.ts: - updated translation - - * plugins/lb302/lb302.cpp: - * src/audio/audio_alsa.cpp: - * src/audio/audio_oss.cpp: - fixed typos - -2007-02-27 Javier Serrano Polo - - * src/widgets/fade_button.cpp: - simplified timer usage, fixes frozen leds and hopefully the segfaults - - * src/core/config_mgr.cpp: - create widgets once - -2007-02-25 Javier Serrano Polo - - * plugins/singerbot/singerbot.cpp: - * plugins/singerbot/singerbot.h: - use libsamplerate - - * plugins/singerbot/singerbot.cpp: - - resample while playing, reduced start-up CPU usage - - joined scheme commands - - * configure.in: - - added libsamplerate dependency to singerbot - - don't add plugin libraries to global LIBS - - * src/core/automation_editor.cpp: - - fixed selection - - values moved at time 0 don't move horizontally - - * src/core/piano_roll.cpp: - little optimization when selecting all notes - - * src/tracks/instrument_track.cpp: - emit sentMidiTime always, pitch automation mustn't be disabled - - * plugins/ladspa_base/ladspa_control.cpp: - * plugins/ladspa_effect/ladspa_effect.cpp: - raise gain range up to 10 - - * include/effect_select_dialog.h: - * include/plugin.h: - * plugins/ladspa_effect/ladspa_subplugin_features.cpp: - * plugins/ladspa_effect/ladspa_subplugin_features.h: - * plugins/vst_effect/vst_subplugin_features.cpp: - * plugins/vst_effect/vst_subplugin_features.h: - * src/core/effect_select_dialog.cpp: - changed description layout - - * plugins/ladspa_effect/ladspa_subplugin_features.cpp: - simplified translations - - * plugins/live_tool/live_tool.cpp: - added what's-this-text - -2007-02-20 Alexey Kouznetsov - - * data/locale/ru.ts: - updated Russian translation - -2007-02-16 Tobias Doerffel - - * Makefile.am: - added include/effect_lib.h to sources-list - -2007-02-03 Paul Giblock - - * plugins/lb302/lb302.cpp: - * plugins/lb302/lb302.h: - * plugins/lb302/artwork.png: - * plugins/lb302/logo.png: - * plugins/lb302/Makefile.am: - * plugins/lb302/README: - Initial release. LB302 Bass Synth beta instrument plugin - - * configure.in: - * plugins/Makefile.am: - * src/tracks/instrument_track.cpp: - Added LB302 support - - * data/projects/misc/lb302_quick.mmp: - Added LB302 demo - - * src/widgets/knob.cpp: - Fixed compile-time bug caused by pointer casted to uint - -2007-01-21 Tobias Doerffel - - * src/core/note_play_handle.cpp: - removed obsolete support for monophonic instruments - - * src/tracks/instrument_track.cpp: - added new code for better support of monophonic instrument - -2007-01-20 Javier Serrano Polo - - * plugins/singerbot/artwork.png: - * plugins/singerbot/logo.png: - * plugins/singerbot/Makefile.am: - * plugins/singerbot/singerbot.h: - * plugins/singerbot/singerbot.cpp: - initial release, SingerBot (experimental) instrument plugin - - * configure.in: - * include/note_play_handle.h: - * plugins/Makefile.am: - * src/core/arp_and_chords_tab_widget.cpp: - * src/core/note_play_handle.cpp: - * src/tracks/instrument_track.cpp: - added singerbot support - - * include/sample_buffer.h: - deleteResampling methods made static - - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/organic/organic.cpp: - * plugins/triple_oscillator/triple_oscillator.cpp: - * src/core/note_play_handle.cpp: - * src/tracks/instrument_track.cpp: - call deleteNotePluginData() only if there is plugin data, fixes - unprotected instruments - - * plugins/vestige/vestige.cpp: - trigger deleteNotePluginData() - - * src/tracks/instrument_track.cpp: - avoid double unlock - - * configure.in: - fixed configuring with --with-stk - - * acinclude.m4: - moved QT_TRANSLATIONS_DIR to config.h - - * plugins/flp_import/flp_import.cpp: - * plugins/flp_import/unrtf/word.c: - optimized unsafe loops - - * src/lib/sample_buffer.cpp: - * src/widgets/project_notes.cpp: - minor cosmetic changes - - * include/shared_object.h: - not really thread-safe, will be removed - -2007-01-02 Tobias Doerffel - - * src/core/note.cpp: - fixed segfault in hasDetuningInfo() if m_detuning was NULL - - * README: - * src/core/about_dialog.cpp: - extended copyright from 2006 to 2007 - -2006-12-28 Tobias Doerffel - - * configure.in: - some cleanups and fixes - - * src/tracks/instrument_track.cpp: - before calling mixer::addPlayHandle(), unlock m_notesMutex as in some - cases (when running into xruns) - instrumentTrack::deleteNotePluginData() is called while the mutex is - locked and the program was frozen - - * include/track.h: - * plugins/flp_import/flp_import.cpp: - * plugins/midi_import/midi_import.cpp: - * src/core/file_browser.cpp: - * src/core/preset_preview_play_handle.cpp: - * src/core/song_editor.cpp: - * src/core/track.cpp: - * src/core/track_container.cpp: - * src/tracks/instrument_track.cpp: - changed name of constant CHANNEL_TRACK to INSTRUMENT_TRACK - -2006-12-24 Tobias Doerffel - - * plugins/kicker/kicker.cpp: - changed minimal value for frequency-knobs from 40 to 5 Hz - -2006-12-23 Javier Serrano Polo - - * plugins/kicker/kicker.cpp: - fixed envelope segfault - -2006-12-21 Tobias Doerffel - - * include/note_play_handle.h: - * src/core/note_play_handle.cpp: - added parameter to nphsOfInstrumentTrack() which will cause the method - to add note-play-handles even if they're released - - * include/effect_lib.h: - - renamed bassBosst to fastBastBoost - - added new bassBoost-class based on audacity's bass-boost-effect - - * plugins/kicker/kicker.cpp: - * include/effect_lib.h: - introduced new distortion-class which sounds better than - foldback-distortion - -2006-12-20 Javier Serrano Polo - - * src/widgets/rack_plugin.cpp: - * src/widgets/tempo_sync_knob.cpp: - defer deletion of additional windows, fixes event-loop segfault - -2006-12-20 Tobias Doerffel - - * src/tracks/instrument_track.cpp: - fixed basic envelope - - * plugins/kicker/kicker.h: - * plugins/kicker/kicker.cpp: - * plugins/kicker/logo.png: - * plugins/kicker/artwork.png: - * plugins/kicker/Makefile.am: - * plugins/Makefile.am: - * configure.in: - added Kicker-plugin, a versatile kick- & bassdrum-synthesizer - - * include/sweep_oscillator.h: - added simple sweep-oscillator-class - - * include/effect_lib.h: - - added foldbackDistortion-class - - added process()-methods to monoBase- and stereoBase-class - - added bypass-classes for mono and stereo - - added effect-chaining-class - - * configure.in: - fail if -fomit-frame-pointer is found in compiler-flags and - VST-support is not disabled - -2006-12-19 Javier Serrano Polo - - * include/tool.h: - * src/core/tool.cpp: - initial release, base class for all tool plugins - - * include/plugin.h: - * plugins/ladspa_effect/ladspa_subplugin_features.cpp: - renamed AnalysisTools to Tool - - * include/main_window.h: - * src/core/main_window.cpp: - added tools menu - - * Makefile.am: - * src/lmms_single_source.cpp: - added tool plugins - - * configure.in: - * plugins/live_tool/artwork.png: - * plugins/live_tool/live_tool.cpp: - * plugins/live_tool/live_tool.h: - * plugins/live_tool/logo.png: - * plugins/live_tool/Makefile.am: - added live tool, an example tool plugin - - * plugins/Makefile.am: - - added live tool - - eased SVN merging - - * data/*/Makefile.am: - * data/*/*/Makefile.am: - * plugins/vst_base/Makefile.am: - - removed wildcard extension for POSIX compliance - - fixed additional automake 1.10 issues - -2006-12-18 Tobias Doerffel - - * plugins/bass_booster/bassboster_control_dialog.h: - * plugins/bass_booster/bassboster_control_dialog.cpp: - set changed parameters directly using new set...-methods of effect-lib - (preserves current effect-state and therefore avoids clicks in sound- - stream) - - * include/effect_lib.h: - - renamed class "base" to "monoBase" - - monoToStereoAdaptor can now have different effects for the two - channels - - added stereoToMonoAdaptor - - extended baseBoost-class by several methods - - * plugins/vestige/vestige.h: - * plugins/vestige/vestige.cpp: - added note-state-array for handling sequences of "note-on note-off" - events while the according note is already on which for example is the - case when placing the two notes at the same key next to each other - - until now the plugin started playing the second note but stopped - immediately as the note-off-event of the first note arrived later than - the note-on-event of the second one - - * src/core/instrument.cpp: - always call invalidate() in destructor so (instrumentPlayHandle- - driven) plugins do not have to care about it - - * src/tracks/instrument_track.cpp: - make sure value returned by masterKey() is within allowed range - - * src/core/mixer.cpp: - fixed bug which caused LMMS to crash when using parallelizing-level - above 1 and invalidated play-handles were existing - -2006-12-17 Tobias Doerffel - - * plugins/bass_booster/bassboster_control_dialog.cpp: - * plugins/bass_booster/bassboster_control_dialog.h: - * plugins/bass_booster/bass_boster.h: - * plugins/bass_booster/bass_boster.cpp: - * plugins/bass_booster/Makefile.am: - * plugins/Makefile.am: - * configure.in: - added bassbooster-effect-plugin - - * src/core/effect_select_dialog.cpp: - added support for effects without sub-plugin-support and fixed some - potential crashs - - * include/effect_lib.h: - added simple but powerful template-based effect-library with currently - two basic effects - -2006-12-11 Javier Serrano Polo - - * include/sample_buffer.h: - * src/lib/sample_buffer.cpp: - - fixed SDL_sound decoding - - enabled speex samples - - * src/core/file_browser.cpp: - * src/core/main_window.cpp: - enabled speex samples - - * plugins/ladspa_effect/ladspa_effect.cpp: - fixed adding effect segfault - -2006-12-09 Tobias Doerffel - - * configure.in: - check for ${prefix} before extending CFLAGS etc. - should fix issue - with make-problems when using older automake-versions - - * include/instrument.h: - * include/envelope_tab_widget.h: - * src/core/envelope_tab_widget.cpp: - support for instruments which want to define their own number of - release-frames - - * include/instrument_track.h: - * include/instrument.h: - * src/core/note_play_handle.cpp: - support for monophonic instruments - - * include/mixer.h: - * src/core/mixer.cpp: - made mixer::removePlayHandle() to accept const-pointers - -2006-12-06 Javier Serrano Polo - - * include/note.h: - * src/core/note.cpp: - show detuning in the piano roll - - * include/piano_roll.h: - * src/core/piano_roll.cpp: - - show note detuning - - save last key when starting to play, fixes held notes bug - - removed cursor enter/leave events, they could be ignored - - optimized unsafe loops - - * include/xqmap.h: - initial release, QMap with lowerBound for Qt3 - - * include/automation_pattern.h: - * src/tracks/automation_pattern.cpp: - - use lowerBound find, resets to proper values - - work with inverted midi time - - * include/automation_editor.h: - * src/core/automation_editor.cpp: - - work with inverted midi time - - fixed display of hidden values - - added red cross - - update detuning in the piano roll - - removed cursor enter/leave events, they could be ignored - - optimized unsafe loops - - minor optimizations - - * include/note_play_handle.h: - * src/core/arp_and_chords_tab_widget.cpp: - set subnotes' BB track - - * data/track_icons/*.png: - re-added corrupted images - - * src/core/name_label.cpp: - added bad pixmap protection - - * src/audio/audio_alsa.cpp: - - removed unnecessary asynchronous behaviour, fixes large audio buffers - - fill the whole period buffer, avoids underrun in synchronous mode - - * src/core/setup_dialog.cpp: - don't use the journal - - * include/journalling_object.h: - ease short disabling - - * include/automatable_object.h: - - use light journal disabling - - use the journal if necessary - - * src/widgets/knob.cpp: - * src/widgets/lcd_spinbox.cpp: - * src/widgets/volume_knob.cpp: - use the journal if necessary - - * src/widgets/tempo_sync_knob.cpp: - - change icon when changing mode, fixes automation crash - - disable the journal when calculating sync time - - * src/core/bb_editor.cpp: - don't create TCOs when there aren't any BB tracks - - * src/tracks/instrument_track.cpp: - removed temporary fix - -2006-12-05 Tobias Doerffel - - * plugins/ladspa_effect/caps/Makefile.am: - added include-path of LMMS for successfully compiling CAPS with shipped - LADSPA-header - - * src/tracks/instrument_track.cpp: - integrated patch from Jean-Yves Lefort - -2006-12-04 Tobias Doerffel - - * Makefile.am: - added ladspa-1.1.h to source-file-list - - * plugins/ladspa_effect/caps/basics.h: - include shipped LADSPA-header if none was found during configure - -2006-12-03 Alexey Kouznetsov - - * data/locale/ru.ts: - updated Russian translation - -2006-11-19 Tobias Doerffel - - * plugins/vst_base/lvsl_server.c: - proper handling of pitch-bend-events - - * plugins/vestige/vestige.h: - * plugins/vestige/vestige.cpp: - handle MIDI-events by forwarding them to VST-plugin - - * include/instrument.h: - * src/tracks/instrument_track.cpp: - if supported by according instrument, it now can handle all incoming - MIDI-events (except Noteon and Noteoff) - - * src/midi/midi_alsa_seq.cpp: - more complete implementation of MIDI-event-handling - -2006-11-15 Javier Serrano Polo - - * include/audio_alsa.h: - * src/audio/audio_alsa.cpp: - * src/audio/audio_device.cpp: - * src/audio/audio_file_wave.cpp: - convert-endian-based conversion instead of little-endian-based, - fixes OSS and SDL - - * include/audio_sdl.h: - * src/audio/audio_sdl.cpp: - fill the whole audio buffer - -2006-11-11 Javier Serrano Polo - - * src/core/piano_roll.cpp: - fixed pasting recorded notes segfault - - * configure.in: - turned EXTRAFLAGS into DEFAULTFLAGS - -2006-11-11 Tobias Doerffel - - * plugins/flp_import/flp_import.cpp: - include ctype.h - -2006-11-08 Javier Serrano Polo - - * include/bb_track.h: - * src/tracks/bb_track.cpp: - change color of selected group of TCOs - - * plugins/vst_base/lvsl_server.c: - fixed segfault when initializing some VST plugins - - * src/lib/sample_buffer.cpp: - fixed switching from normal play to resampling play - -2006-10-30 Tobias Doerffel - - * src/lib/string_pair_drag.cpp: - when decoding value of stringPairDrag-class use everything after ":" - instead of first section as the value (string) itself might contain - ":"-characters - makes it possible to drag'n'drop instrument-tracks - with VeSTige-instrument and avoids crash - - * src/core/piano_roll.cpp: - when checking cursor-position in edit-mode (move/resize note), do - comparisons in pixels instead of tact64th - fixes bug that 32th- and - 64th-notes could not be resized - - * src/core/file_browser.cpp: - also recognize "mmpz"-files as projects and load them when - double-clicking them - - * src/tracks/pattern.cpp: - when loading pattern, check type afterwards and correct if necessary - -2006-10-09 Mikael Freeman - - * data/locale/sv.ts: - updated Swedish translation - -2006-09-28 Tobias Doerffel - - * include/setup_dialog.h: - * src/core/main_window.cpp: - * src/core/setup_dialog.cpp: - * src/lib/mmp.cpp: - added support for compressed project ("mmpz"-extension), files are - compressed if extension given to multimediaProject::writeFile() is - mmpz or (if none given) user enabled compression as default - - * data/locale/de.ts: - updated German translation (still incomplete (mainly for - mallets-plugin)) - - * lmms.1: - updated manpage (added link to Wiki and updated description) - - * configure.in: - * include/ladspa-1.1.h: - * plugins/ladspa_base/ladspa_manager.h: - added the latest LADSPA-header to be shipped with LMMS for always - building LMMS with LADSPA-support, even if no ladspa.h was found on - system (still causes warning) - -2006-09-25 Tobias Doerffel - - * configure.in: - * plugins/ladspa_effect/Makefile.am: - * plugins/ladspa_effect/caps/Makefile.am: - added missing Makefile.am and re-added CAPS-support - -2006-09-25 Danny McRae - - * plugins/vibed/vibrating_string.cpp: - 2x oversampling in non-hq-mode to get the instument to sound the - same in both modes - - * configure.in: - * plugins/ladspa_effect/Makefile.am: - removed references to CAPS (sorry about that Toby, but I couldn't get - anything to build with them--there's no make info in the CAPS dir) - -2006-09-25 Tobias Doerffel - - * acinclude.m4: - * configure.in: - * Makefile.am: - * include/piano_roll.h: - * include/piano_widget.h: - * src/core/piano_roll.cpp: - * src/core/piano_widget.cpp: - made LMMS compile with mingw-cross-compiler - - * include/automatable_slider.h: - * plugins/stk/mallets/mallets.cpp: - * plugins/vst_effect/vst_subplugin_features.cpp: - * plugins/vst_effect/vst_subplugin_features.cpp: - * src/core/meter_dialog.cpp: - * src/widgets/automatable_slider.cpp: - * src/widgets/knob.cpp: - * src/widgets/volume_knob.cpp: - Qt4-fixes - - * plugins/audio_file_processor/audio_file_processor.cpp: - * src/lib/sample_buffer.cpp: - removed obsolete inclusion of paths.h - - * include/rack_view.h: - * plugins/ladspa_effect/ladspa_effect.cpp: - * src/core/effect_control_dialog.cpp: - include qt3-support-header first - - * plugins/vst_effect/vst_control_dialog.cpp: - do not try to reparent effect's plugin-widget in destructor - fixes - crash when deleting vst-effect from effect-chain - - * src/lib/mmp.cpp: - do not indent mmp-files anymore as it wastes *a lot* of unneccesary - space - - * data/projects/cool_songs/StrictProduction-Underline.mmp: - added another cool project - - * plugins/ladspa_base/ladspa_manager.cpp: - - always add /usr/lib/ladspa and /usr/local/lib/ladspa to directories - where to search for LADSPA-plugins - - also search in /usr/lib/lmms/ladspa for LADSPA-plugins (that's where - for example CAPS is installed) - - * plugins/ladspa_effect/caps/: - added CAPS (C Audio Plugin Suite) for providing a basic LADSPA-plugin- - collection - -2006-09-23 Tobias Doerffel - - * plugins/vst_effect/vst_control_dialog.cpp: - save and load settings of VST-effect - with this VST-effect-support is - complete for now - - * plugins/vst_base/lvsl_client.h: - * plugins/vst_base/lvsl_client.cpp: - * plugins/vestige/vestige.cpp: - moved code from vestigeInstrument::saveSettings() and - vestigeInstrument::loadSettings() to remoteVSTPlugin - - * plugins/ladspa_effect/ladspa_control_dialog.h: - changed node-name from "controls" to "ladspacontrols" to be more - consistent with naming-conventions - - * plugins/ladspa_effect/ladspa_subplugin_features.h: - * plugins/ladspa_effect/ladspa_subplugin_features.cpp: - moved ladspaSubPluginFeatures-code from LADSPA-base to where it - belongs/is used - in LADSPA-effect - - * data/projects/demos/Zvonsully-RaceTheZBeat.mmp: - * data/projects/cool_songs/Malex-Horizon4.mmp: - added two projects - - * plugins/ladspa_base/ladspa_browser.cpp: - * plugins/ladspa_base/ladspa_subplugin_features.cpp: - removed #ifdef SINGLE_SOURCE_COMPILE, as this doesn't affect plugins - - fixes bug with undefined symbol in libladspaeffect.so - - * configure.in: - enable VST-support per default - - * include/aeffectx.h: - added Javier's header (with dssi-vst-patch) - - * data/lmms: - * data/lmms.desktop: - * data/Makefile.am: - added desktop- and menu-entry-file for LMMS (thanks to Javier for the - latter one on debian-list) - -2006-09-23 Mikael Freeman - - * data/locale/sv.ts: - added first Swedish translation (very incomplete) - -2006-09-22 Tobias Doerffel - - * plugins/vst_base/lvsl_client.cpp: - m_initialized is now set before calling waitForProcessingFinished(), - makes VST-effects work - -2006-09-21 Tobias Doerffel - - * plugins/vst_effect/Makefile.am: - * plugins/vst_effect/logo.png: - * plugins/vst_effect/vst_effect.h: - * plugins/vst_effect/vst_effect.cpp: - * plugins/vst_effect/vst_control_dialog.h: - * plugins/vst_effect/vst_control_dialog.cpp: - * plugins/vst_effect/vst_subplugin_features.h: - * plugins/vst_effect/vst_subplugin_features.cpp: - added plugin for supporting VST-effects inside LMMS - currently very - experimental and incomplete, but it compiles and works somehow ;-) - - * plugins/ladspa_effect/Makefile.am: - generating ladspa_effect.moc not needed ynmore - - * plugins/vestige/Makefile.am: - - use new vstbase-library - - do not link against X11, as not needed anymore - - * plugins/Makefile.am: - * plugins/vst_base/Makefile.am: - * plugins/vst_base/communication.h: - * plugins/vst_base/lvsl_client.h: - * plugins/vst_base/lvsl_client.cpp: - * plugins/vst_base/lvsl_server.c: - * plugins/vst_base/vst_base.cpp: - moved LVSL-code into separate library for allowing multiple - LMMS-plugins to deal with VST-plugins - -2006-09-20 Tobias Doerffel - - * plugins/*/*.png: - * data/locale/*.qm: - * data/samples/*: - * data/themes/*: - re-added all binary files as they were corrupted during SVN-migration - for some reason - - * configure.in: - * Makefile.am: - * plugins/ladspa_base/*: - * include/config_mgr.h: - * include/engine.h: - * include/setup_dialog.h: - * src/audio/audio_port.cpp: - * src/core/config_mgr.cpp: - * src/core/engine.cpp: - * src/core/setup_dialog.cpp: - * src/lmms_single_source.cpp: - moved all LADSPA-related code into separate library against which LMMS - is linked when compiling with LADSPA-support - - * Makefile.cvs: - renamed to Makefile.svn as LMMS-CVS-repo was migrated to subversion - -2006-09-18 Tobias Doerffel - - * plugins/vestige/vestige.h: - * plugins/vestige/vestige.cpp: - * plugin/vestige/lvsl_client.h: - * plugin/vestige/lvsl_client.cpp: - take advantage of LMMS' new parallelizing-support - works indeed the - way expected! all VST-servers are now balanced all over available CPUs - - * plugins/audio_file_processor/audio_file_processor.h: - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/bit_invader/bit_invader.h: - * plugins/bit_invader/bit_invader.cpp: - * plugins/organic/organic.h: - * plugins/organic/organic.cpp: - * plugins/plucked_string_synth/plucked_string_synth.h: - * plugins/plucked_string_synth/plucked_string_synth.cpp: - * plugins/mallets/mallets.h: - * plugins/mallets/mallets.cpp: - * plugins/vestige/vestige.h: - * plugins/vestige/vestige.cpp: - * plugins/vibed/vibed.h: - * plugins/vibed/vibed.cpp: - * include/instrument.h: - * include/instrument_play_handle.h: - * include/mixer.h: - * include/note_play_handle.h: - * include/play_handle.h: - * include/plugin.h: - * include/preset_preview_play_handle.h: - * include/sample_play_handle.h: - * include/setup_dialog.h: - * include/track.h: - * src/core/instrument.cpp: - * src/core/mixer.cpp: - * src/core/plugin.cpp: - * src/core/preset_preview_play_handle.cpp: - * src/core/sample_play_handle.cpp: - * src/core/setup_dialog.cpp: - * src/tracks/instrument_track.cpp: - added first simple support for parallelizing sound-processing for - using full power of SMP-systems (e.g. my new dual-core-notebook :-) - -2006-09-17 Javier Serrano Polo - - * include/tempo_sync_knob.h: - fixed save/load segfault in LADSPA controls - - * src/core/song_editor.cpp: - fixed looping when processing the audio buffer - - * include/timeline.h: - * src/core/timeline.cpp: - update loop points state button when loading a project - - * src/core/automation_editor.cpp: - fixed segfault when stopping without pattern - -2006-09-17 Tobias Doerffel - - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/bit_invader/bit_invader.cpp: - * plugins/flp_import/flp_import.cpp: - * plugins/midi_import/midi_import.cpp: - * plugins/organic/organic.cpp: - * plugins/plucked_string_synth/plucked_string_synth.cpp: - * plugins/mallets/mallets.cpp: - * plugins/vestige/vestige.cpp: - * plugins/vibed/vibed.cpp: - extended plugin-descriptor by sub_plugin_features-field (for - non-effects likely NULL) - - * include/audio_port.h: - * include/effect.h: - * include/effect_chain.h: - * include/effect_label.h: - * include/effect_tab_widget.h: - * include/instrument.h: - * include/instrument_track.h: - * include/ladspa_browser.h: - * include/ladspa_manager.h: - * include/main_window.h: - * include/plugin.h: - * include/rack_plugin.h: - * include/rack_view.h: - * include/sample_track.h: - * src/lmms_single_source.cpp: - * src/audio/audio_port.cpp: - * src/core/effect.cpp: - * src/core/effect_chain.cp: - * src/core/effect_tab_widget.cpp: - * src/core/import_filter.cpp: - * src/core/ladspa_browser.cpp: - * src/core/main_window.cpp: - * src/core/mixer.cpp: - * src/core/plugin.cpp: - * src/core/plugin_browser.cpp: - * src/tracks/instrument_track.cpp: - * src/tracks/sample_track.cpp: - * src/widgets/effect_label.cpp: - * src/widgets/ladspa_control.cpp: - * src/widgets/rack_plugin.cpp: - * src/widgets/rack_view.cpp: - added generic effect-framework based on LADSPA-effect-code for using - arbitrary effects inside LMMS and using sub-plugins (such as - LADSPA-plugins) transparently at the same time, now writing of any - other effects an begin - - * plugins/ladspa_effect/ladspa_effect.h: - * plugins/ladspa_effect/ladspa_effect.cpp: - * plugins/ladspa_effect/ladspa_control_dialog.h: - * plugins/ladspa_effect/ladspa_control_dialog.cpp: - moved LADSPA-effect-support into separate plugin - - * include/dummy_effect.h: - * include/effect_control_dialog.h: - * include/effect_select_dialog.h: - * include/ladspa_base.h: - * include/ladspa_subplugin_features.h: - * src/core/effect_control_dialog.cpp: - * src/core/effect_select_dialog.cpp: - * src/core/ladspa_subplugin_features.cpp: - added (see description above) - - * include/ladspa_control_dialog.h: - * include/ladspa_description.h: - * include/ladspa_effect.h: - * include/select_ladspa_dialog.h: - * src/core/ladspa_control_dialog.cpp: - * src/core/ladspa_effect.cpp: - * src/core/select_ladspa_dialog.cpp: - removed - - * data/locale/de.ts: - updated German translation - - * configure.in: - - do not set wrong VST_SUPPORT-condition if winegcc was found and - --with-vst specified but VST-headers are missing - - LADSPA-support not experimental anymore and enabled per default when - header is found - - use -O2 per default - -2006-09-11 Javier Serrano Polo - - * plugins/vestige/lvsl_server.c: - save/load all plugin parameters - -2006-09-09 Javier Serrano Polo - - * src/core/automation_editor.cpp: - fixed single source compilation - -2006-09-08 Danny McRae - * configure.in: - fixed check for STK headers and library - - * plugins/stk/mallets/mallets.h: - removed the meaningless index boundary limiter for m_delayRead and - m_delayWrite - - * configure.in: - * plugins/Makefile.am: - * plugins/stk/Makefile.am: - began work on supporting STK instruments - - * plugins/stk/mallets/Makefile.am: - * plugins/stk/mallets/artwork.png: - * plugins/stk/mallets/logo.png: - * plugins/stk/mallets/mallets.h: - * plugins/stk/mallets/mallets.cpp: - added mallets instrument - - * include/config_mgr.h: - * src/core/config_mgr.cpp: - * include/setup_dialog.h: - * src/core/setup_dialog.cpp: - added STK rawwave to directory selector - -2006-09-03 Thomas Girard - - * src/core/file_browser.cpp: - fixed bad project browsing segfault - -2006-09-03 Javier Serrano Polo - - * include/bb_track.h: - * src/core/track.cpp: - integrated Toby's Qt4 fixes - - * src/widgets/tempo_sync_knob.cpp: - - integrated Toby's Qt4 fixes - - connect the meter dialog only when custom sync - - don't set the modified flag on automated changes - - * src/core/song_editor.cpp: - - integrated Toby's Qt4 fixes - - rely on objects to set the modified flag - - * src/core/meter_dialog.cpp: - added names to display in the automation editor - -2006-09-03 Tobias Doerffel - - * acinclude.m4: - * include/effect_tab_widget.h: - * include/ladspa_description.h: - * include/qt3support.h: - * include/rack_view.h: - * include/track.h: - * src/audio/audio_device.cpp: - * src/core/automation_editor.cpp: - * src/core/effect_tab_widget.cpp: - * src/core/envelope_and_lfo_widget.cpp: - * src/core/ladspa_control_dialog.cpp: - * src/core/ladspa_effect.cpp: - * src/core/ladspa_port_dialog.cpp: - * src/core/name_label.cpp: - * src/core/note.cpp: - * src/core/piano_roll.cpp: - * src/lib/ladspa_2_lmms.cpp: - * src/lib/ladspa_manager.cpp: - * src/tracks/automation_pattern.cpp: - * src/tracks/instrument_track.cpp: - * src/widgets/effect_label.cpp: - * src/widgets/ladspa_control.cpp: - * src/widgets/ladspa_description.cpp: - * src/widgets/rack_plugin.cpp: - * src/widgets/rack_view.cpp: - * src/widgets/volume_knob.cpp: - Qt4-compat fixes - -2006-08-30 Danny McRae - * src/widgets/ladspa_control.cpp: - added a lock to prevent segfaults when changing the values - while playing - - * src/core/ladspa_effect.cpp: - corrected the labeling of "(ms)" which were showing up as - "(ms))" - - * Makefile.am: - * src/lmms_single_source.cpp: - * include/meter_dialog.h: - * src/core/meter_dialog.cpp: - * include/tempo_sync_knob.h: - * src/widgets/tempo_sync_knob: - added user definable settings for tempo sync - - * src/core/arp_and_chords_tab_widget.cpp: - - changed arp time knob to save using new tempo sync format - - fixed a bug that was preventing the arp groupbox state from - being restored properly - - * src/core/envelope_and_lfo_widget.cpp: - changed lfo time knob to save using new tempo sync format - -2006-08-28 Javier Serrano Polo - - * COPYING: - updated GPL - - * README: - * source files: - updated FSF address - - * depcomp: - removed generated file - - * mkinstalldirs: - removed auxiliary automake file - -2006-08-27 Javier Serrano Polo - - * include/automation_track.h: - * include/bb_editor.h: - * include/bb_track.h: - * include/instrument_track.h: - * include/sample_track.h: - * src/core/bb_editor.cpp: - * src/core/song_editor.cpp: - * src/tracks/automation_track.cpp: - * src/tracks/bb_track.cpp: - * src/tracks/sample_track.cpp: - removed start frame from play() methods - - * src/tracks/instrument_track.cpp: - - removed start frame from play() methods - - removed checks when sending automation events - - * include/track.h: - - removed start frame from play() methods - - removed checks when sending automation events - - use update() instead of repaint() - - * src/core/track.cpp: - - fixed no bb-track case - - removed checks when sending automation events - - use update() instead of repaint() - - * src/core/track_container.cpp: - * src/widgets/kmultitabbar.cpp: - * src/widgets/text_float.cpp: - use update() instead of repaint() - - * include/automation_editor.h: - * include/piano_roll.h: - * src/core/automation_editor.cpp: - * src/core/piano_roll.cpp: - moved update() reimplementations to methods called from paintEvent() - - * include/envelope_and_lfo_widget.h: - * src/core/envelope_tab_widget.cpp: - optimized envelope and LFO computations - - * src/core/envelope_and_lfo_widget.cpp: - - optimized envelope and LFO computations - - separated sample variables updates from paint events - - * include/combobox.h: - clear the menu when the combobox is cleared - - * src/midi/midi_alsa_seq.cpp: - clean-up properly - -2006-08-24 Javier Serrano Polo - - * include/shared_object.h: - initial release, shared object for use among threads - - * include/sample_buffer.h: - became a shared object - - * src/tracks/instrument_track.cpp: - use sample handles to play frozen patterns, fixes crackling - - * include/pattern.h: - * src/tracks/pattern.cpp: - allow access to the frozen pattern - - * include/sample_play_handle.h: - * src/core/sample_play_handle.cpp: - - react to bb-track mute automation - - added constructor to handle frozen patterns - - use shared sample buffers - - * include/instrument_track.h: - getAudioPort() is required - - * include/sample_track.h: - * src/tracks/sample_track.cpp: - - removed obsolete play() in sampleTCO - - use shared sample buffers - - * src/core/envelope_and_lfo_widget.cpp: - fixed load settings deadlock - - * src/audio/audio_device.cpp: - graceful shutdown - - * include/midi_alsa_seq.h: - * src/midi/midi_alsa_seq.cpp: - added pipe to detect shutdown - - * Makefile.am: - added shared object - -2006-08-22 Tobias Doerffel - - * configure.in: - - changed package-maintainer-email-address to lmms-devel-list - - removed -floop-optimization2-flag as it is deprecated and not - supported by coming GCC 4.2 - -2006-08-20 Javier Serrano Polo - - * include/envelope_and_lfo_widget.h: - * src/core/envelope_and_lfo_widget.cpp: - * src/core/envelope_tab_widget.cpp: - changed busy flag into busy mutex, improves thread safety - -2006-08-18 Javier Serrano Polo - - * src/core/bb_editor.cpp: - removed disabled tracks - - * src/tracks/instrument_track.cpp: - added automation disabled - - * include/bb_track.h: - * include/track.h: - * src/core/track.cpp: - * src/tracks/bb_track.cpp: - renamed disabled track logic to automation disabled - - * include/pattern.h: - * src/tracks/pattern.cpp: - added empty() to check whether there is any relevant note - - * src/lib/oscillator.cpp: - check user waveform presence, fixes organic segfault - - * src/core/name_label.cpp: - changed icon selection, fixes loss of icon - -2006-08-17 Erwin Goossen - - * data/locale/nl.ts: - updated Dutch translation - -2006-08-16 Danny McRae - * src/widgets/tempo_sync_knob.cpp: - changed context menu to only display possible note length - options based on the knob's max value - - * include/ladspa_effect.h: - * src/core/ladspa_effect.cpp: - - added a new port data type TIME for port names containing - "(ms)", "(S)", or "(Seconds)" - - converts units to milliseconds for TIME ports - - * src/widgets/ladspa_control.cpp: - use a tempoSyncKnob for TIME ports - - * src/widgets/automatable_button.cpp: - remove toggled signal sent from method toggle--it's also sent - from setValue, and the double signal was wreaking havoc with - the channel linkings - - * include/ladspa_control.h: - * include/ladspa_control_dialog.h: - * src/core/ladspa_control_dialog.cpp: - * src/widgets/ladspa_control.cpp: - * src/widgets/rack_plugin.cpp: - - added channel link selectors for individual ports - - don't show control edit button for plugins with no controls - -2006-08-16 Erwin Goossen - - * data/locale/nl.ts: - added Dutch translation - -2006-08-15 Javier Serrano Polo - - * include/automatable_object.h: - fixed unlinking objects - - * include/automation_pattern.h: - added constructor for unlinking objects - - * src/tracks/automation_pattern.cpp: - - added constructor for unlinking objects - - don't remove value at position 0 - - * INSTALL: - * Makefile.cvs: - * install-sh: - * missing: - removed more generated files - -2006-08-15 Tobias Doerffel - - * src/widgets/knob.cpp: - support for linking knobs using + drag'n'drop (note that - connetions are not saved!) - -2006-08-15 Danny McRae - * src/widgets/ladspa_control.cpp: - doubled the number of steps in the knobs - - * src/core/ladspa_control_dialog.cpp: - changed linking to default on - - * data/themes/default/effect_plugin.png: - * src/widgets/rack_plugin.cpp: - * src/widgets/rack_view.cpp: - added some texture to the plugin widget - - * src/core/ladspa_control_dialog.cpp: - save and restore the channel link state - - * src/widgets/rack_plugin.cpp: - added deletion of the control view to the dtor to make it clean - up after itself - - * include/automatable_object.h: - * include/ladspa_control.h: - * include/ladspa_control_dialog.h: - * src/core/ladspa_control_dialog.cpp: - * src/core/ladspa_control.cpp: - - added a link channels option to the ladspa controls - - * All of the effects related files: - reformatted to respect the 80 characters per line convention - -2006-08-15 Tobias Doerffel - - * Makefile.cvs: - small makefile to be run before configure for creating/copying all - necessary files - - * config.sub: - * config.guess: - * configure: - * config.h.in: - * ltmain.sh: - removed - -2006-08-14 Danny McRae - * Makefile.am: - * include/ladspa_effect.h: - * src/core/ladspa_effect.cpp: - * include/effect.h: - * include/effect_chain.h: - * include/ladspa_browser: - * include/ladspa_control_dialog.h: - * include/rack_plugin.h: - * select_ladspa_dialog.h: - * src/core/effect.cpp: - * src/core/effect_chain.cpp: - * src/core/ladspa_browser.cpp: - * src/core/ladspa_control_dialog.cpp: - * src/core/select_ladspa_dialog.cpp: - * src/tracks/instrument_track.cpp: - * src/tracks/sample_track.cpp: - * src/widgets/ladspa_control.cpp: - * src/widgets/rack_plugin.cpp: - - separated ladspa specific stuff into a class derived from - effect - - changed the default value range for unhinted ports from - (-99999,99999) to (0,1) - -2006-08-13 Javier Serrano Polo - - * src/tracks/sample_track.cpp: - moved playing to samplePlayHandle, removes crackling - - * include/sample_track.h: - - allow sample buffer access - - getAudioPort() is required - - removed slots, moved playing to samplePlayHandle - - * include/sample_play_handle.h. - * src/core/sample_play_handle.cpp: - - became a QObject - - create handle from sampleTCO - - fill audio buffer from the requested base frame - - made automation-awared - - * Makefile.am: - samplePlayHandle is now a QObject - - * include/sample_buffer.h: - - use fast sample generation, rely on proper waveforms - - removed locks in sample generation - - added lock methods for use in higher levels - - * src/lib/oscillator.cpp: - lock user waveform once per loop - - * data/samples/shapes/low_sine.wav: - low frequency sine for use in the oscillator - - * include/lmms_math.h: - added fast pseudo-random integer generator - - * include/oscillator.h: - - use fast noise generation - - simplified user-wave call, frames must never be 0 - - * include/basic_filters.h: - - added minQ "constant" - - limit Q resonance - - * src/core/envelope_tab_widget.cpp: - added minQ "constant" - -2006-08-10 Danny McRae - * src/widgets/ladspa_control.cpp: - unfixed my misunderstood fix of the setting of sample rate - dependent ports - - * src/core/mixer: - got rid of the "more_effect |= ..." nonsense - - * src/widgets/effect_label.cpp: - * src/widgets/rack_plugin.cpp: - changed the parenting of the control dialog to main window - instead of NULL - -2006-08-11 Tobias Doerffel - - * configure.in: - added check for ctype.h to make LMMS work on Zenwalk-systems - -2006-08-10 Javier Serrano Polo - - * include/bb_track.h: - * include/track.h: - * src/core/bb_editor.cpp: - added disabled tracks - - * src/tracks/bb_track.cpp: - - added disabled tracks - - fixed BB-track 0 cloning bug - - * src/core/track.cpp: - - added disabled tracks - - update track operations menu - - simplified engine access - - fixed BB-track 0 cloning bug - - improved removing automation patterns - - * include/track_container.h: - - moved tracks() to public - - added node name - - * src/core/track_container.cpp: - added node name - - * data/themes/default/mute_on_disabled.png: - * data/themes/default/track_op_menu_disabled.png: - * data/themes/default/mute_off_disabled.png: - * resources/mute_on_disabled.png: - * resources/track_op_menu_disabled.png: - * resources/mute_off_disabled.png: - added disabled track artwork - -2006-08-10 Danny McRae - * include/effect.h: - * include/effect_chain.h: - * include/effect_label.h: - * include/effect_tab_widget.h: - * include/ladspa_control.h: - * include/ladspa_control_dialog.h: - * include/ladspa_description.h: - * include/rack_plugin.h: - * include/rack_view.h: - * src/core/effect.cpp: - * src/core/effect_tab_widget.cpp: - * src/core/ladspa_port_dialog.cpp: - * src/core/ladspa_control_dialog.cpp: - * src/widgets/ladspa_description.cpp: - * src/widgets/rack_plugin.cpp: - * src/widgets/rack_view.cpp: - added Qt4 includes - - * include/config_mgr.h: - * include/setup_dialog.h: - * src/core/config_mgr.cpp: - * src/core/setup_dialog.cpp: - * src/lib/ladspa_manager.cpp: - -added ladspa search path to user configuration - -made ladspa loader ignore all files not ending in "so" - - * include/effect.h: - * src/core/effect.cpp: - * src/widgets/ladspa_control.cpp: - corrected an error in setting the values for sample rate - dependent ports - - the crackling in the sample tracks is due to rounding errors - in the calculation of _start_frame in sampleTrack::play that - cause it to occasionally skip a sample. Don't know what to - do about it--just thought it should be noted somewhere. - -2006-08-09 Danny McRae - * Makefile.am: - * include/effect_label.h: - * include/effect_tab_widget.h: - * include/instrument_track.h: - * include/ladspa_control.h: - * include/ladspa_control_dialog.h: - * include/rack_plugin.h: - * include/rack_view.h: - * src/lmms_single_source.cpp: - * src/audio/audio_port.cpp: - * src/core/effect.cpp: - * src/core/effect_tab_widget.cpp: - * src/core/ladspa_control_dialog.cpp: - * src/core/ladspa_port_dialog.cpp: - * src/tracks/instrument_track.cpp: - * src/tracks/sample_track.cpp: - * src/widgets/ladspa_control.cpp: - * src/widgets/rack_plugin.cpp: - * src/widgets/rack_view.cpp: - -full save and load - -added effects to sample tracks - -fixed the knob twoddling segfaults (hopefully) - -somewhere between 0.2.1 and yesterday a crackling has been - introduced in the sample tracks. My largish checkins - look like an obvious culprit, but it would have to be - something I forgot to #ifdef LADSPA_SUPPORT out. - -2006-08-08 Danny McRae - * include/effect.h: - * include/effect_chain.h: - * include/effect_tab_widget.h: - * include/ladspa_browser.h: - * include/ladspa_control.h: - * include/ladspa_control_dialog.h: - * include/rack_plugin.h: - * include/rack_view.h: - * src/core/effect.cpp: - * src/core/effect_chain.cpp: - * src/core/effect_tab_widget.cpp: - * src/core/ladspa_browser.cpp: - * src/core/ladspa_control_dialog.cpp: - * src/tracks/instrument_track.cpp: - * src/widgets/ladspa_control.cpp: - * src/widgets/rack_plugin.cpp: - * src/widgets/rack_view.cpp: - -added ability to change the order of effects or delete them - -partial save and load support - -still getting spurious segfaults when twoddling with knobs, - the textFloat associated with the knob is being reparented to - NULL(?!), but works well enough to at least hear what things - sound like with effects - -2006-08-07 Danny McRae - * include/oscillator.h: - * plugins/vibed/vibrating_string.h: - * plugins/vibed/vibrating_string.cpp: - clean up some things that were preventing the getNextSample - methods from being inlined - - * configure: - * configure.in: - -made ladspa support default off - -must pass --with-ladspa to get it to build - - * Makefile.am: - * data/themes/default/add.png: - * data/themes/default/analysis.png: - * data/themes/default/ports.png: - * data/themes/default/uhoh.png: - * data/themes/default/unavailable_sound.png: - * data/themes/blue_scene/add.png: - * data/themes/blue_scene/analysis.png: - * data/themes/blue_scene/ports.png: - * data/themes/blue_scene/uhoh.png: - * data/themes/blue_scene/unavailable_sound.png: - * include/audio_port.h: - * include/effect_chain.h: - * include/effect_tab_widget.h: - * include/effect.h: - * include/engine.h: - * include/group_box.h: - * include/instrument_track.h: - * include/ladspa_2_lmms.h: - * include/ladspa_browser.h: - * include/ladspa_control.h: - * include/ladspa_control_dialog.h: - * include/ladspa_description.h: - * include/ladspa_manager.h: - * include/ladspa_port_dialog.h: - * include/main_window.h: - * include/rack_plugin.h: - * include/rack_view.h: - * include/select_ladspa_dialog.h: - * src/lmms_single_source.cpp: - * src/audio/audio_port.cpp: - * src/core/effect_chain.cpp: - * src/core/effect_tab_widget.cpp: - * src/core/effect.cpp: - * src/core/engine.cpp: - * src/core/ladspa_browser.cpp: - * src/core/ladspa_control.cpp: - * src/core/ladspa_port_dialog.cpp: - * src/core/main_window.cpp: - * src/core/mixer.cpp: - * src/core/select_ladspa_dialog.cpp: - * src/lib/ladspa_2_lmms.cpp: - * src/lib/ladspa_manager.cpp: - * src/tracks/instrument_track.cpp: - * src/widgets/group_box.cpp: - * src/widgets/ladspa_control.cpp: - * src/widgets/ladspa_description.cpp: - * src/widgets/rack_plugin.cpp: - * src/widgets/rack_view.cpp: - -added preliminary support for ladspa effects - -no load or save - -expect segfaults - -2006-08-07 Javier Serrano Polo - - * include/lcd_spinbox.h: - added manualChange signal - - * src/widgets/lcd_spinbox.cpp: - - added manualChange signal - - emit valueChanged whenever value is changed - - removed redundant journalling operations - - * src/core/song_editor.cpp: - - set modified flag if there's a manual BPM change - - set tempo if BPM value has changed - - allow further processing on muted tracks - - * include/note_play_handle.h: - * src/core/note_play_handle.cpp: - * src/tracks/instrument_track.cpp: - added bbTrack reference to check whether it's muted - - * src/tracks/bb_track.cpp: - send automation events - - * include/mixer.h: - * src/core/mixer.cpp: - fixed overflow when using big audio buffers - - * plugins/audio_file_processor/audio_file_processor.cpp: - use automation in start-/end-point knobs - - * plugins/vibed/vibed.cpp: - fixed reversed pan - -2006-08-06 Javier Serrano Polo - - * include/engine.h: - * include/midi_time.h: - * src/core/engine.cpp: - * src/core/note_play_handle.cpp: - * src/tracks/bb_track.cpp: - * src/tracks/sample_track.cpp: - frames computation based on 64th of a tact, fixes BB-pattern arbitrary - positioning in song editor - - * include/song_editor.h: - * src/core/song_editor.cpp: - - frames computation based on 64th of a tact - - changed playPos frame counter to float, improves timing precision - - * src/tracks/instrument_track.cpp: - - frames computation based on 64th of a tact - - simplified note playing - -2006-08-03 Javier Serrano Polo - - * src/core/automation_editor.cpp: - - fixed vertical bars in Auto view - - fixed selection frame drawing - - renamed some members and variables - - * include/automation_editor.h: - renamed some members - -2006-08-01 Javier Serrano Polo - - * include/automation_editor.h: - added "Auto" view - - * src/core/automation_editor.cpp: - - added "Auto" view - - improved labels display - - removed duplicate variable y_base - - * include/song_editor.h: - * src/core/engine.cpp: - * src/core/song_editor.cpp: - - moved framesPerTact() from songEditor to engine - - update frames per tact only when changes happen - - * include/engine.h: - * src/core/note_play_handle.cpp: - * src/tracks/bb_track.cpp: - * src/tracks/instrument_track.cpp: - * src/tracks/sample_track.cpp: - moved framesPerTact() from songEditor to engine - -2006-07-27 Tobias Doerffel - - * configure.in: - made 0.2.1 release - - * include/mixer.h: - * include/visualization_widget.h: - * src/widgets/visualization_widget.cpp: - fixed a bug in connection between mixer and visualization-widget - -2006-07-24 Javier Serrano Polo - - * src/tracks/instrument_track.cpp: - handle notes deleted when keys still pressed - - * include/song_editor.h: - * src/core/note.cpp: - * src/core/song_editor.cpp: - added checks to avoid segfaults when closing the application - -2006-07-23 Javier Serrano Polo - - * src/core/piano_widget.cpp: - initialize m_lastKey, fixes segfault - - * src/core/automation_editor.cpp: - * src/core/note_play_handle.cpp: - added checks to avoid segfaults when closing the application - -2006-07-22 Javier Serrano Polo - - * include/automatable_object.h: - avoid unnecessary level updates - - * include/track.h: - * src/tracks/instrument_track.cpp: - trigger automation only when time has changed - - * src/core/track.cpp: - - trigger automation only when time has changed - - remove references from patterns when closing the application - - * include/automation_pattern.h: - added method to avoid segfaults when closing the application - - * src/tracks/automation_pattern.cpp: - - added check to avoid segfaults when closing the application - - reverted processMidiTime(), that processing is needed - - * src/core/track_container.cpp: - * src/lib/journalling_object.cpp: - added checks to avoid segfaults when closing the application - - * include/engine.h: - * src/core/engine.cpp: - - do the clean-up in close() - - ensure deleted elements aren't accessed - - * src/core/main_window.cpp: - close the engine rather than delete it - - * include/instrument_track.h: - allow access to the piano widget - - * include/piano_widget.h: - moved key event handlers to public - - * include/piano_roll.h: - redirect events to the piano widget - - * src/core/piano_roll.cpp: - - changed some accelerators - - redirect keyboard events to the piano widget - - fixed segfault when pressing Ctrl with no pattern - - * src/core/automation_editor.cpp: - changed some accelerators - - * src/core/song_editor.cpp: - play the automation track only when playing song - - * include/automation_track.h: - removed unused signal section - - * data/locale/ca.ts: - updated translation - -2006-07-21 Danny McRae - - * configure.in: - - removed -fomit-frame-pointer flag--causes wine to crash on - Ubuntu - - added check for gcc 4.0 for optimization flags--left it - commented out--needs to be tested with 4.1 - -2006-07-20 Tobias Doerffel - - * src/tracks/automation_pattern.cpp: - automationPattern::processMidiTime(): do not start search on time-map if - empty - find() on maps is horribly slow and makes LMMS unusable (still - have to find a better solution without any find()s at all) - -2006-07-19 Tobias Doerffel - - * configure.in: - - added optimization-flags - - made 0.2.0 release - - * vst_sdk23_headers.diff: - - removed as not needed anymore - -2006-07-17 Tobias Doerffel - - * data/locale/de.ts: - * data/locale/de.qm: - updated German translation - - * include/automation_editor.h: - decreased DEFAULT_Y_DELTA - - * plugins/flp_import/flp_import.cpp: - removed some obsolete code - -2006-07-17 dieEasy - - * locale/it.ts: - updated Italian translation - -2006-07-16 Javier Serrano Polo - - * data/themes/default/automation.png: - * resources/automation.png: - * src/core/automation_editor.cpp: - * src/core/main_window.cpp: - * src/core/piano_roll.cpp: - * src/core/piano_widget.cpp: - * src/core/surround_area.cpp: - * src/widgets/automatable_button.cpp: - * src/widgets/automatable_slider.cpp: - * src/widgets/combobox.cpp: - * src/widgets/knob.cpp: - * src/widgets/lcd_spinbox.cpp: - * src/widgets/tempo_sync_knob.cpp: - added automation icon - -2006-07-15 Javier Serrano Polo - - * data/locale/ca.ts: - updated translation - - * src/core/automation_editor.cpp: - corrected help sentence - -2006-07-14 Javier Serrano Polo - - * include/note.h: - * src/core/note.cpp: - - added detuning knob - - added explicit constructor from another note - - * include/note_play_handle.h: - * src/core/note_play_handle.cpp: - handle detuning automation - - * include/instrument_track.h: - send a signal when handling automation - - * src/tracks/instrument_track.cpp: - - send a signal when handling automation - - use note detuning to calculate frequency - - * src/core/arp_and_chords_tab_widget.cpp: - extended detuning to chords and arpeggios - - * include/automation_pattern.h: - * src/tracks/automation_pattern.cpp: - - automation pattern can be initialized without track - - slots moved to public - - * include/automatable_object.h: - automation pattern can be initialized without track - - * src/core/song_editor.cpp: - * src/widgets/automatable_slider.cpp: - updated clear automation method name - - * include/piano_roll.h: - added open (note in editor) mode and support methods - - * src/core/piano_roll.cpp: - - added open (note in editor) mode and support methods - - clone detuning knobs when copying/pasting notes - - * src/core/automation_editor.cpp: - - improved display when no pattern - - play buttons can be used to play related note patterns - - improved play/pause button display - -2006-07-10 Javier Serrano Polo - - * include/combobox.h: - * src/widgets/combobox.cpp: - - use automation capabilities - - added context menu - - * src/core/arp_and_chords_tab_widget.cpp: - * src/core/automation_editor.cpp: - * src/core/envelope_tab_widget.cpp: - * src/core/export_project_dialog.cpp: - * src/core/piano_roll.cpp: - upgraded combo boxes - - * src/core/bb_editor.cpp: - - upgraded combo box - - improved bb-track management - - * src/tracks/bb_track.cpp: - - update bb editor combo box when removed - - moving track is the active one - - * src/core/song_editor.cpp: - - upgraded combo box - - use default template to create new projects - - * include/main_window.h: - * src/core/main_window.cpp: - - added user templates to templates menu - - update templates menu when accessed - -2006-07-09 Javier Serrano Polo - - * include/piano_widget.h: - * src/core/piano_widget.cpp: - - use automation capabilities using a helper knob - - added context menu - - added save/load methods - - use raw keycodes to play the piano - - * include/instrument_track.h: - * src/tracks/instrument_track.cpp: - - don't set song modified flag when playing automation - - use piano widget save/load methods - -2006-07-08 Javier Serrano Polo - - * include/automation_track.h: - * src/tracks/automation_track.cpp: - initial release, to handle automation of objects without a track - - * include/lcd_spinbox.h: - * src/widgets/lcd_spinbox.cpp: - - use automation capabilities - - added context menu - - * include/automatable_slider.h: - * src/widgets/automatable_slider.cpp: - initial release, slider with automation - - * include/song_editor.h: - * src/core/song_editor.cpp: - - use automatable sliders - - use automation track - - upgraded lcd spin box - - joined some slider creation code between QT versions - - show slider status on manual change only - - * include/track.h: - * src/core/track.cpp: - added automation track - - * src/audio/audio_alsa.cpp: - * src/audio/audio_jack.cpp: - * src/audio/audio_oss.cpp: - * src/core/midi_tab_widget.cpp: - * src/tracks/instrument_track.cpp: - upgraded lcd spin boxes - - * include/automatable_object.h: - check whether the automation editor has been created - - * src/core/surround_area.cpp: - fixed position rounding - - * Makefile.am: - * src/lmms_single_source.cpp: - added automatable_slider and automation_track - -2006-07-03 Javier Serrano Polo - - * plugins/audio_file_processor/audio_file_processor.cpp: - removed all automation - - * src/widgets/automatable_button.cpp: - button groups may not use automation - - * src/widgets/knob.cpp: - knobs may not use automation - - * include/automatable_object.h: - - moved update flag to automation pattern - - moved nullTrack() to public - - * include/automation_pattern.h: - * src/tracks/automation_pattern.cpp: - moved update flag from automatable object - -2006-07-02 Javier Serrano Polo - - * include/surround_area.h: - * src/core/surround_area.cpp: - - use automation capabilities using helper knobs - - added context menu - - added save/load methods - - * include/instrument_track.h: - * src/tracks/instrument_track.cpp: - use upgraded surround area - - * include/automatable_button.h: - * src/widgets/automatable_button.cpp: - - use automation capabilities in button and button group - - added button context menu - - * include/group_box.h: - * include/led_checkbox.h: - * include/pixmap_button.h: - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/vestige/vestige.cpp: - * plugins/vibed/impulse_editor.cpp: - * plugins/vibed/impulse_editor.h: - * plugins/vibed/nine_button_selector.cpp: - * plugins/vibed/nine_button_selector.h: - * plugins/vibed/vibed.cpp: - * src/core/envelope_tab_widget.cpp: - * src/core/export_project_dialog.cpp: - * src/core/midi_tab_widget.cpp: - * src/core/setup_dialog.cpp: - * src/core/track.cpp: - * src/widgets/group_box.cpp: - * src/widgets/led_checkbox.cpp: - * src/widgets/pixmap_button.cpp: - upgraded buttons - - * plugins/bit_invader/bit_invader.cpp: - - upgraded buttons - - use sample length knob automation - - * plugins/organic/organic.cpp: - - upgraded button - - use waveshape knob automation - - * plugins/triple_oscillator/triple_oscillator.cpp: - * src/core/arp_and_chords_tab_widget.cpp: - * src/core/envelope_and_lfo_widget.cpp: - upgraded buttons and button groups - - * include/automatable_object.h: - - moved getAutomationPattern to public - - added some checks and minor fixes - - * src/core/automation_editor.cpp: - improved levels display - - * src/core/song_editor.cpp: - save/load automation editor state - - * src/widgets/tempo_sync_knob.cpp: - added automation editor option in context menu - -2006-06-29 Javier Serrano Polo - - * Makefile.am: - * include/automation_editor.h: - * include/automation_pattern.h: - * include/engine.h: - * include/main_window.h: - * include/song_editor.h: - * include/time_pattern.h: - * include/time_roll.h: - * include/track.h: - * src/lmms_single_source.cpp: - * src/core/automation_editor.cpp: - * src/core/engine.cpp: - * src/core/main_window.cpp: - * src/core/time_roll.cpp: - * src/core/track.cpp: - * src/tracks/automation_pattern.cpp: - * src/tracks/instrument_track.cpp: - * src/tracks/sample_track.cpp: - * src/tracks/time_pattern.cpp: - * src/widgets/knob.cpp: - renamed time* classes to automation* ones - - * include/automatable_object.h: - - renamed time* classes to automation* ones - - fixed int classes rounding - - * plugins/organic/organic.cpp: - save harmonic settings like before - - * data/presets/Organic/organ_risingsun.cs.xml: - * data/presets/Organic/organ_swish.cs.xml: - * data/presets/Organic/pad_ethereal.cs.xml: - * data/presets/Organic/pad_rich.cs.xml: - * data/presets/Organic/pad_sweep.cs.xml: - * data/presets/Organic/sequencer_64.cs.xml: - upgraded to new detuning algorithm - -2006-06-28 Javier Serrano Polo - - * include/level_object.h: - * src/tracks/time_pattern.cpp: - added level<->label methods - - * include/automatable_object.h: - - added level<->label methods - - minimized rounding errors - -2006-06-27 Tobias Doerffel - - * plugins/vestige/lvsl_server.c: - compatibility with older VST-headers (2.0) mentioned by configure - - * acinclude.m4: - * configure.in: - compat-fixes for FreeBSD - -2006-06-27 Javier Serrano Polo - - * include/time_pattern.h: - * src/tracks/time_pattern.cpp: - initial release, pattern for dynamic values - - * include/time_roll.h: - * src/core/time_roll.cpp: - initial release, time pattern editor - - * include/level_object.h: - initial release, mainly used by the time-roll - - * include/automatable_object.h: - - added levelObject inheritance and related functions - - added time pattern - - moved linkObject methods to private for safety - - save/load settings can use generic names and types other than double - - * include/engine.h: - * include/main_window.h: - * src/core/engine.cpp: - * src/core/main_window.cpp: - added time-roll - - * include/knob.h: - * src/widgets/knob.cpp: - - use automation capabilities - - added time-roll option in context menu - - * include/tempo_sync_knob.h: - * include/volume_knob.h: - * src/widgets/automatable_button.cpp: - * src/widgets/lcd_spinbox.cpp: - * src/widgets/tempo_sync_knob.cpp: - * src/widgets/volume_knob.cpp: - added automation - - * include/envelope_and_lfo_widget.h: - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/bit_invader/bit_invader.cpp: - * plugins/organic/organic.cpp: - * plugins/plucked_string_synth/plucked_string_synth.cpp: - * plugins/triple_oscillator/triple_oscillator.cpp: - * plugins/vibed/vibed.cpp: - * src/core/arp_and_chords_tab_widget.cpp: - * src/core/envelope_and_lfo_widget.cpp: - * src/core/envelope_tab_widget.cpp: - added automation to many knobs - - * include/track.h: - * src/core/track.cpp: - - added time pattern - - added name methods - - * include/instrument_track.h: - * src/tracks/instrument_track.cpp: - - moved name scope to track - - added automation to knobs - - don't try to load a time pattern plugin - - * src/tracks/sample_track.cpp: - added automation to knob - - * include/note.h: - * src/core/note.cpp: - moved quantized() to public - - * include/qt3support.h: - added QPointer - - * include/song_editor.h: - added time pattern - - * src/core/piano_roll.cpp: - * src/core/song_editor.cpp: - simplified combobox numbers generation - - * data/themes/default/zoom_x.png: - * data/themes/default/zoom_y.png: - * resources/zoom_x.png: - * resources/zoom_y.png: - icons for the time-roll - - * Makefile.am: - * src/lmms_single_source.cpp: - added new files - -2006-06-12 Tobias Doerffel - - * plugins/organic/organic.cpp: - * plugins/organic/organic.h: - * plugins/triple_oscillator/triple_oscillator.cpp: - * plugins/triple_oscillator/triple_oscillator.h: - updated code which uses knob-identification-capabilities - - * include/knob.h: - * include/volume_knob.h: - * src/widgets/knob.cpp: - * src/widgets/volume_knob.cpp: - use data-property of automatableObject for identifying the knob - (replaces the id-stuff) - - * include/automatable_object.h: - added data-property in which any arbitrary information can be stored - -2006-06-10 Javier Serrano Polo - - * src/lib/sample_buffer.cpp: - - fixed bug when sample processor generates less frames than the audio - buffer size - - load full wav samples - - * data/presets/AudioFileProcessor/Fat-Reversed-Kick.cs.xml: - * data/presets/AudioFileProcessor/Kick-4-your-Subwoofer.cs.xml: - upgraded to newer version, end frame value caused segfault - -2006-06-09 Javier Serrano Polo - - * include/lmms_math.h: - * include/oscillator.h: - * include/sample_buffer.h: - * src/lib/oscillator.cpp: - - reverted to PM and added FM as a new modulation method - - improved performance, specially PM/FM - - moved fraction() to global scope - - removed absolute value from userWaveSample, it's handled by fraction() - - * plugins/triple_oscillator/pm_active.png: - * plugins/triple_oscillator/pm_inactive.png: - * plugins/triple_oscillator/triple_oscillator.cpp: - added PM buttons, hid FM ones - - * Makefile.am: - added lmms_math.h - - * data/locale/ca.ts: - updated translation - -2006-06-05 Javier Serrano Polo - - * include/oscillator.h: - * include/panning.h: - * plugins/organic/organic.cpp: - * plugins/organic/organic.h: - * plugins/triple_oscillator/triple_oscillator.cpp: - * plugins/triple_oscillator/triple_oscillator.h: - * src/lib/oscillator.cpp: - oscillator rewrite, now many parameters may be changed between audio - buffer updates - - * Makefile.am: - note_play_handle is now a QObject - - * data/projects/cool_songs/Djeezus-BeatRolls.mmp: - * data/projects/cool_songs/Djeezus-Oscilisous.mmp: - * data/projects/cool_songs/Marfil-MarfilDrum01.mmp: - * data/projects/cool_songs/Mart-Concave_flow.mmp: - * data/projects/cool_songs/Mart-Dirt_Track.mmp: - * data/projects/cool_songs/MaxFellner-Ease.mmp: - * data/projects/cool_songs/SharkyX-DeadManDancing.mmp: - * data/projects/cool_songs/SharkyX-Experiments.mmp: - * data/projects/cool_songs/Siegel-DreamWave.mmp: - * data/projects/cool_songs/TobyDox-Confused.mmp: - * data/projects/cool_songs/TobyDox-Psycho.mmp: - * data/projects/cool_songs/TobyDox-TheFourthDimension.mmp: - * data/projects/covers/J.S.Bach-Preludium_and_Fugue_A-Minor.mmp: - * data/projects/demos/basses-demo.mmp: - * data/projects/demos/beat-collection.mmp: - * data/projects/demos/demo1.mmp: - * data/projects/demos/demo3.mmp: - * data/projects/demos/demo5.mmp: - * data/projects/demos/demo6.mmp: - * data/projects/demos/loop_collection.mmp: - * data/projects/demos/some_basslines.mmp: - * data/projects/misc/1st.mmp: - * data/projects/misc/time_machine.mmp: - * data/projects/templates/AcousticDrumset.mpt: - * data/projects/templates/ClubMix.mpt: - * data/presets/AudioFileProcessor/Bass-Mania.cs.xml: - * data/presets/AudioFileProcessor/Fat-Reversed-Kick.cs.xml: - * data/presets/AudioFileProcessor/Kick-4-your-Subwoofer.cs.xml: - reverted audiofileprocessors to not point to /usr/local/share/lmms, they - should continue working - - * include/knob.h: - * include/volume_knob.h: - * src/widgets/knob.cpp: - * src/widgets/volume_knob.cpp: - added knob id - - * include/note_play_handle.h: - * src/core/note_play_handle.cpp: - update note frequency when changing base note in instrument track - - * include/instrument_track.h: - * plugins/flp_import/flp_import.cpp: - * src/core/piano_widget.cpp: - * src/tracks/instrument_track.cpp: - unify method to set a base note - -2006-06-03 Javier Serrano Polo - - * acinclude.m4: - * src/core/main.cpp: - detect and load standard Qt translations - -2006-05-29 Javier Serrano Polo - - * src/core/arp_and_chords_tab_widget.cpp: - fixed integer-overflow - - * include/oscillator.h: - * include/sample_buffer.h: - * plugins/organic/organic.cpp: - * plugins/triple_oscillator/triple_oscillator.cpp: - * src/core/envelope_and_lfo_widget.cpp: - * src/lib/oscillator.cpp: - - several segfault-fixes when while playing note - - volume-knob-changes take effect immediately - - * data/locale/ca.ts: - added catalan translation - -2006-05-26 Javier Serrano Polo - - * src/lib/sample_buffer.cpp: - corrected the calculation of f1 in play to prevent it from shifting - the start_frame out of bounds when resampling. - - * src/core/config_mgr.cpp: - * src/lib/mmp.cpp: - changed the xml output to use UTF8 encoding instead of ascii. - -2006-05-23 Danny McRae - - * include/oscillator.h: - FM mixing sometimes calculates a negative "time" for the sampling - which causes bad things to happen when pulling the data out of - a user defined wave. Changed userWaveSample to use the absolute - value of the sample, which fixes the segfaulting problem. Not - sure whether I should care about the negative times elsewhere. - -2006-05-22 Danny McRae - - * plugins/audio_file_processor/audio_file_processor.h: - * plugins/audio_file_processor/audio_file_processor.cpp: - added a switch to setAudioFile to force the track name to be - used for the track if a name already exists. Fixes the problem - of having tracks being renamed to the file name when loading a - saved song. - -2006-05-20 Tobias Doerffel - - * data/locale/de.ts: - updated German translation - - * src/core/bb_editor.cpp: - added button in bb-editor for adding new beat/bassline - - * include/track.h: - * src/core/track.cpp: - * src/tracks/bb_track.cpp: - * src/tracks/instrument_track.cpp: - * src/tracks/pattern.cpp: - * src/tracks/sample_track.cpp: - added "muted"-property to track-content-objects for being able to mute - single patterns, samples etc. either via context-menu or using - and middle mousebutton - -2006-05-19 Tobias Doerffel - - * src/core/track_container.cpp: - added missing #include (debug.h for assert(...) ) - -2006-04-18 Tobias Doerffel - - * plugins/flp_import/unrtf/output.c: - generally use bigger font-sizes - - * plugins/flp_import/unrtf/attr.c: - * plugins/flp_import/unrtf/attr.h: - * plugins/flp_import/flp_import.cpp: - do not crash when importing FLP-projects more than one time per - session (some vars need to be reset before unrtf works again) - - * plugins/flp_import/flp_import.cpp: - - limit number of bb-tracks for avoiding hangups - - set length of step-notes to -64 instead of -1 - - scale filter-resonance to smaller values - -2006-04-17 Tobias Doerffel - - * plugins/vibed/vibed.cpp: - some small optimizations in vibed::playNote( ... ) - -2006-04-16 Danny McRae - * Makefile.am: - * src/lmms_single_source.cpp: - * include/knob.h: - * include/instrument_track.h: - * src/tracks/instrument_track.cpp: - *+src/include/volume_knob.h: - *+src/widgets/volume_knob.cpp: - * include/setup_dialog.h: - * src/core/setup_dialog.cpp: - * include/sample_track.h: - * src/tracks/sample_track.cpp: - * plugins/audio_file_processor/audio_file_processor.h: - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/organic/organic.h: - * plugins/organic/organic.cpp: - * plugins/triple_oscillator/triple_oscillator.h: - * plugins/triple_oscillator/triple_oscillator.cpp: - * plugins/vibed/vibed.h: - * plugins/vibed/vibed.cpp: - Added a volume knob widget that will display the volume level as - either a percentage or in dbV, which can be selected from the - general settings in the setup dialog. Changed vibed to use a - volume range from 0 to 200 to bring it in line with every other - volume knob in lmms. Unfortunately, this will break any existing - presets, but better to do it now before many of them actually - exist. - - * src/core/mixer.cpp: - Changed the number of channels processed from the fixed value of - SURROUND_CHANNELS to m_audioDev->channels() so that only the - number of channels that will be output get processed instead of - the maximum number of channels that could be defined. - -2006-04-15 Danny McRae - * include/mixer.h: - * src/core/mixer.cpp: - * src/core/song_editor.cpp: - *+data/themes/default/auto_limit.png: - *+data/themes/blue_scene/auto_limit.png: - Added auto limiter option. Main window now has a button next to - the high-quality button to toggle the auto limiter on and off - The limiter scales the whole section between zero crossings where - a clip occurs. This required adding another processing buffer - in the mixer, which will double the latency when the auto limiter - is being used, but when it's not being used, there is no change - to the latency. Because it's based on detecting the zero - crossings, the lowest frequency for which it is effective is - sample_rate/(4*buffer_len). - -2006-04-14 Tobias Doerffel - - * src/lib/mmp.cpp: - clean metadata-nodes when saving projects, project-templates or presets - - * plugins/vibed/vibed.cpp: - - in vibed::loadSettings(): - - simplified loading of wave-shape - - delete base64-decoded data at the end - - commented out code in destructor as it is not necessary - to be - removed someday - - * include/base64.h: - fixed fatal bug in Qt4-version of base64::decode(): memcpy()ed data to - _data instead of *_data - - * src/widgets/group_box.cpp: - * src/widgets/tab_widget.cpp: - some fine-tuning of Qt4-version of painting-code - - * src/widgets/lcd_spinbox.cpp: - explicitely set black background-color in Qt4-version - - * src/core/midi_tab_widget.cpp: - Qt4-version of MIDI-connection-code is now working - - * src/core/main_window.cpp: - * plugins/vibed/impulse_editor.cpp: - * plugins/vibed/nine_button_selector.cpp: - * plugins/vibed/vibed.cpp: - * plugins/plucked_string_synth/plucked_string_synth.cpp: - * plugins/triple_oscillator/triple_oscillator.cpp: - * plugins/bit_invader/bit_invader.cpp: - * plugins/organic/organic.cpp: - * src/core/song_editor.cpp: - * src/core/piano_roll.cpp: - * src/core/main_window.cpp: - * src/core/bb_editor.cpp: - * src/core/track.cpp: - * src/widgets/project_notes.cpp: - * src/widgets/group_box.cpp: - * src/widgets/tab_widget.cpp: - * src/widgets/tool_button.cpp: - added missing setAutoFillBackground( TRUE )-call for making QWidget - paint specified background-color/pixmap - makes Qt4-version of LMMS - almost usable - - * src/widgets/tab_widget.cpp: - per default hide newly added tabs - - * include/spc_bg_hndl_widget.h: - added missing code for painting pixmap-backgrounds in Qt4-version - - * plugins/vestige/lvsl_client.cpp: - use QX11EmbedContainer instead of QX11EmbedWidget in Qt4-version -> - working VST-support in Qt4-version of LMMS - - * include/sample_buffer.h: - * src/lib/sample_buffer.cpp: - - when loading sample, first look for it in user's working-directory, - then in LMMS' factory-samples-directory - - simplified making the path of a sample-file relative - - * include/config_mgr.h: - * src/core/config_mgr.cpp: - * src/core/main_window.cpp: - * src/tracks/instrument_track.cpp: - replaced methods projectsDir(), presetsDir() and samplesDir() with - userProjectsDir(), factoryProjectsDir(), userPresetsDir(), - factoryPresetsDir() etc. - - * include/file_browser.h: - * src/core/file_browser.cpp: - try to avoid duplicate "/" in paths - fixes some problems - -2006-04-10 Tobias Doerffel - - * most files: - Qt4-fixes: - - when including headers, specify qt-module too (QtCore, QtGui etc.) - - draw gradients using QLinearGradient etc. - - other opmizations (use QHash instead of QMap etc.) - -2006-04-10 Danny McRae - - * Makefile.am: - * include/lmms_constants.h: - * include/basic_filters.h: - * include/oscillator.h: - * include/interpolation.h: - converted calculations using PI to single precision - - * src/audio/audio_device.cpp: - * src/audio/audio_alsa.cpp: - * src/audio/audio_file_wave.cpp: - corrected handling of big endian data - - * plugins/vibed/vibed.h: - * plugins/vibed/vibed.cpp: - * plugins/vibed/nine_button_selector.h: - * plugins/vibed/nine_button_selector.cpp: - - added octave to save and restore settings - - removed mysterious m_sampleBuffer that was causing seg faults in the - deconstructor - - * src/core/main_window.cpp: - added checks to handle "gimp like windows" for save and restore widget - states to prevent seg fault - - * data/projects/cool_songs/Djeezus-BeatRolls.mmp: - * data/projects/cool_songs/Djeezus-Oscilisous.mmp: - * data/projects/cool_songs/Marfil-MarfilDrum01.mpp: - * data/projects/cool_songs/Mart-Concave_flow.mpp: - * data/projects/cool_songs/Mart-Dirt_Track.mpp: - * data/projects/cool_songs/MaxFellner-Ease.mpp: - * data/projects/cool_songs/SharkyX-DeadManDancing.mpp: - * data/projects/cool_songs/SharkyX-Experiments.mpp: - * data/projects/cool_songs/Siegel-DreamWave.mpp: - * data/projects/cool_songs/TobyDox-Confused.mpp: - * data/projects/cool_songs/TobyDox-Psycho.mpp: - * data/projects/cool_songs/TobyDox-TheFourthDimension.mpp: - * data/projects/covers/J.S.Bach-Preludium_and_Fuge_A-Minor.mmp: - * data/projects/demos/basses-demo.mpp: - * data/projects/demos/beat-collection.mpp: - * data/projects/demos/demo1.mpp: - * data/projects/demos/demo3.mpp: - * data/projects/demos/demo5.mpp: - * data/projects/demos/demo6.mpp: - * data/projects/demos/loop_collection.mpp: - * data/projects/demos/some_basslines.mpp: - * data/projects/misc/1st.mpp: - * data/projects/misc/time_machine.mpp: - * data/projects/templates/AccousticDrums.mpt: - * data/projects/templates/ClubMix.mpt: - * data/presets/AudioFileProcessor/Bass-Mainia.cs.xml: - * data/presets/AudioFileProcessor/Fat-Reversed-Kick.cs.xml: - * data/presets/AudioFileProcessor/Kick-4-your-Subwoofer.cs.xml: - updated audiofileprocessors to point to factory presets files in - /usr/local/share/lmms - -2006-04-09 Tobias Doerffel - - * src/core/envelope_and_lfo_widget.cpp: - do not show hint when loading settings in which lfo-shape is set to USER - - * src/core/preset_preview_play_handle.cpp: - disable project-journalling while loading preset - - * src/core/preset_preview_play_handle.cpp: - * src/tracks/instrument_track.cpp: - for generating infinite notes, pass valueRanges::max instead - of ~0 to note-play-handle-constructor as ~0 = 1 for signed ints - - * include/types.h: - - changed types of fpab_t and f_cnt_t to be signed - compiler - generates more optimized code this way - - added template-struct "valueRanges", containing members "min" and - "max" which hold the minimum and maximum value of the type the - template is instantiated with - - * plugins/bit_invader/bit_invader.cpp: - - fixed buffer-overflow when loading sample-data from base64 and more - bytes were decoded than allocated in wave-buffer - - delete decoded base64-data after copying it into wave-buffer - -2006-04-08 Tobias Doerffel - - * src/core/envelope_and_lfo_widget.cpp: - - connect valueChanged()-event of lfo-shape-buttongroup with - lfoWaveCh()-slot - fixes bug that clicks at the lfo-wave-buttons - were not recognized - - completely revised level()-method which doesn't have the bug - anymore, that in release-phase the envelope-level simply went down - from sustain-level to zero, now it goes down from the level at which - the note was released, new method is also much cleaner and more - optimized (and optmizable by compiler) - - * src/core/preset_preview_play_handle.cpp: - hide preview-instrument-track-window after loading settings - -2006-04-07 Tobias Doerffel - - * plugins/vibed/vibrating_string.h: - corrected type-names for resample()-method-parameters (f_cnt_t instead - of samplerate_t) - -2006-04-06 Tobias Doerffel - - * include/config_mgr.h: - * src/core/config_mgr.cpp: - use setup-wizard only for setting working-directory - - * src/core/main_window.cpp: - when creating file-browsers, pass 2 directories: - - factory-files - - user-files - this concerns projects, presets and samples - obsoletes - copying/linking files the first time, LMMS is run (new factory files in - new versions do not cause any trouble anymore) - - * include/file_browser.h: - * src/core/file_browser.cpp: - added support for merging several directory-trees into one view - -2006-04-05 Danny McRae - - * include/sample_track.h: - * src/tracks/sample_track.cpp: - - add volume knob to sample tracks - -2006-04-05 Danny McRae - - * plugins/vibed/impulse_editor.cpp: - - corrected mismatch sin/saw mismatch in initialization - - * plugins/vibed/string_container.h: - * plugins/vibed/string_container.cpp: - * plugins/vibed/vibed.h: - * plugins/vibed/vibed.cpp: - - added string id tracking to allow adding strings while playing - -2006-04-05 Tobias Doerffel - - * include/plugin_browser.h: - * src/core/plugin_browser.cpp: - - per default show small items for plugins in plugin-browser and show - details on mouse-over (nice animations!! ;-) - avoids problems with - hidden plugin-items because of too low screen-resolution and missing - scrollbars - - draw plugin-details-text using QPainter::drawText (not with old own - (buggy) algorithm for text-drawing with word-break-support) - -2006-04-04 Tobias Doerffel - - * plugins/flp_import/unrtf/*: - * plugins/flp_import/flp_import.cpp: - use integrated unrtf-source into FLP-import-filter for converting - RTF-comments to plain HTML which is usable with QTextEdit - -2006-04-02 Tobias Doerffel - - * src/core/song_editor.cpp: - set master-volume-slider correctly in songEditor::setMasterVolume() - - * include/envelope_tab_widget.h: - * src/core/envelope_tab_widget.cpp: - * src/core/note_play_handle.cpp: - - in envelopeTabWidget::releaseFrames(): - if the volume-envelope is used, do not check - release-frames of other envelope-targets, as it is not - interesting if they're beyond the end of the volume-envelope - (silent so or so) - may result in less CPU-usage in some - situations if the user set a bigger release to an envelope - other than the volume-env - - for arpeggio-base-notes only use number of release-frames of - volume-envelope for m_releaseFramesToDo (for not creating silent notes - in release-phase of arp-base-note) - - * plugins/vibed/impulse_editor.cpp: - use saw-wave as default shape for strings as it sounds much more like - a typical guitar-string than a sine-wave - - * plugins/triple_oscillator/triple_oscillator.h: - * plugins/triple_oscillator/triple_oscillator.cpp: - re-implement setParameter()-method for setting user-defined wave-shape - (used by FLP-import-filter) - - * plugins/flp_import/flp_import.cpp: - - convert 3x Osc params to TripleOscillator-settings and load them - - load Vibed-Plugin for Plucked!-instrument - - load arpeggio-settings of channel - - load filter-settings of channel - - handle base-note of each channel - - correct master-volume-calculation - -2006-04-01 Tobias Doerffel - - * plugins/flp_import/flp_import.cpp: - - hack for converting RTF-comment to HTML using unrtf (if installed) - -2006-03-30 Tobias Doerffel - - * plugins/flp_import/flp_import.h: - * plugins/flp_import/flp_import.cpp: - - try to load samples correctly using FL Studio installation - - recognize steps (not working properly yet) - - set current pattern of project - - separate handling of plugin-parameters (will allow support of FL - presets later!) - - added FLP_StepData (225) (not handled as format not known yet) - - added FLP_EnvLfoParams (218) (not handled as format not known yet) - - load envelope-settings of instrument-tracks - - * src/core/track_container.cpp: - disable journalling in destructor of trackContainer - - * include/config_mgr.h: - * include/setup_dialog.h: - * src/core/config_mgr.cpp: - * src/core/setup_dialog.cpp: - support for setting path to installation directory of FL Studio - -2006-03-29 Tobias Doerffel - - * include/song_editor.h: - * src/core/song_editor.cpp: - added setMasterVolume() and setMasterPitch() - - * plugins/flp_import/flp_import.h: - * plugins/flp_import/flp_import.cpp: - - read text-len correctly - - do not crash when creating new pattern before actual channels are - created - - stated event 224 to be FLP_PatternData - - extract information for creating notes out of pattern-data - - add playlist-items after all is done for resizing them correctly - -2006-03-28 Tobias Doerffel - - * plugins/flp_import/flp_import.h: - * plugins/flp_import/flp_import.cpp: - improvements for having a working flp-filter as soon as possible - -2006-03-28 Danny McRae - - * src/lib/sample_buffer.cpp: - corrected miscalculation of buffer size in resample - - * nine_button_selector.cpp: - * nine_button_selector.h: - * string_container.cpp: - * string_container.h: - * vibed.cpp: - * vibed.h: - changed QPtrList variables to vlist type to make things more - Qt4 friendly - -2006-03-27 Tobias Doerffel - - * plugins/flp_import/: - skeleton for FLP-import-filter and some first code (doesn't work yet) - - * include/midi.h: - * include/midi_port.h: - * include/midi_tab_widget.h: - * src/core/midi_tab_widget.cpp: - * src/midi/midi_port.cpp: - support for default-velocity for MIDI-in and/or -out-events - useful - when recording with constant velocity - -2006-03-26 Danny McRae - - * plugins/vibed/: - added "Vibed"-plugin, a powerful combination of PluckedStringSynth and - BitInvader that's capable of producing a surprisingly wide range of - sounds - -2006-03-26 Tobias Doerffel - - * src/lib/journalling_object.cpp: - in journallingObject::saveState(): append new dom-element to parent - before calling saveSettings() as some implementations of it depend on - knowing something about it's parent (e.g. whether it's the clipboard - etc.) - fixes several bugs related to clipboard-usage and drag'n'drop - -2006-03-25 Tobias Doerffel - - * include/instrument_track.h: - * src/core/preset_preview_play_handle.cpp: - disable journalling for all objects involved in preset-preview - - * src/tracks/instrument_track.cpp: - when saving preset, create new node below content-node of project, as - the behaviour of saveTrackSpecificSettings() was changed some days - before - - * src/lib/mmp.cpp: - bugfixes concerning project type-naming - - * src/core/arp_and_chords_tab_widget.cpp: - bugfixes concerning loading/saving settings - -2006-03-24 Tobias Doerffel - - * src/core/track.cpp: - in trackContentWidget::undoStep(): cast journalling object to - track-content-object and close it instead of deleting it - fixes crash - after undo of TCO-add - -2006-03-23 Tobias Doerffel - - * plugins/organic/organic.cpp: - * plugins/organic/randomise_pressed.png: - added pixmap for visual feedback when pressing randomise-button - - * plugins/midi_import/midi_import.cpp: - removed attribute FASTCALL from midiImport::tryImport() for not - crashing LMMS, as tryImport() is not defined as FASTCALL in - importFilter-API - - * src/core/export_project_dialog.cpp: - fixed bug causing LMMS to crash when trying to export a project - -2006-03-19 Tobias Doerffel - - * src/core/track.cpp: - * src/core/track_container.cpp: - * src/tracks/pattern.cpp: - in loadSettings(): do not get confused by meta-data (journal etc.) - - * src/lib/journalling_object.cpp: - - lot of bugfixes - - save/load data of journal-entry (QVariant) by encoding/decoding it - with base64 - - * include/base64.h: - * src/lib/base64.cpp: - support for encoding and decoding whole QVariant, independent of its - type (the result is one string, representing data of any type (int, - QMap, QVector QString...) - this is just awesome!!) - - * src/tracks/instrument_track.cpp: - do not crash in several situations if instrument is not loaded for - some reason (e.g. invalid preset) - - * src/core/track.cpp: - full support for undo/redo adding/removing a TCO (track-type - independent) - -2006-03-18 Tobias Doerffel - - * src/core/main_window.cpp: - avoid layouting-errors when restore widget-state by showing widget - while moving it - - * include/note.h: - * src/core/note.cpp: - undo/redo-support for note-properties - - * most files: - - derive from journallingObject instead of settings and/or engineObject - - in saveSettings() do not create own node, instead directly set - attributes of passed dom-element - - * include/journalling_object.h: - * src/lib/journalling_object.cpp: - - added saveSettings() and loadSettings()-method from former - settings-class - - new wrapper-functions around saveSettings() and loadSettings(): - saveState() - restoreState() - -> objects do not have to create a new node on their own, - saveState() does it for them using nodeName() as node-name - -> journal of object is saved/restored automatically - - * include/settings.h: - removed - -2006-03-16 Tobias Doerffel - - * include/journalling_object.h: - - renamed from editable_object.h - - renamed editStep to journalEntry - - renamed editableObject to journallingObject - - renamed other method-names - - * include/project_journal.h: - * src/lib/project_journal.cpp: - renamed editHistory to projectJournal and changed file-names - accordingly - - * most files: - renamed class channelTrack to instrumentTrack and changed other - method-names to match new naming-convention - - * include/instrument_track.h: - * src/tracks/instrument_track.cpp: - renamed channel_track.* to instrument_track.* - -2006-03-16 Andreas Brandmaier - - * plugins/organic/organic.cpp: - * plugins/organic/organic.h: - * plugins/organic/randomise.png: - added "randomise preset" button to organic plugin - -2006-03-14 Tobias Doerffel - - * include/types.h: - added type for editable-object-ID - - * include/track.h: - * src/core/track.cpp: - * src/tracks/bb_track.cpp: - * src/tracks/pattern.cpp: - * src/tracks/sample_track.cpp: - undo/redo-support for position- and size-changes of TCO - - * include/automatable_object.h: - added methods for saving step-recording-state on stack and restoring - it - - * include/automatable_object.h: - * include/automatable_button.h: - * include/knob.h: - * src/widgets/automatable_button.cpp: - * src/widgets/knob.cpp: - added second template-parameter to automatableObject which specifies - the type to be used for internal calculations (necessary for working - undo/redo-implementation for bool-objects like buttons) - - * include/led_checkbox.h: - * src/widgets/led_checkbox.cpp: - fixed some bugs - -2006-03-13 Tobias Doerffel - - * include/main_window.h: - * src/core/main_window.cpp: - added edit-menu with undo/redo-items - - * src/core/piano_roll.cpp: - * src/core/song_editor.cpp: - * src/core/track_container.cpp: - * src/tracks/channel_track.cpp: - * src/widgets/project_notes.cpp: - use mainWindow::saveWidgetState() and mainWindow::restoreWidgetState() - for saving widget-state in project-file - - * include/piano_roll.h: - * src/core/piano_roll.cpp: - made piano-roll a settings-object - - * include/main_window.h: - * src/core/main_window.cpp: - added static methods for saving and restoring state of a widget - (position, size, visibility etc.) to/from QDomElement - - * include/timeline.h: - * src/core/song_editor.cpp: - * src/core/timeline.cpp: - save loop-point-positions and loop-point-state in project - - * plugins/bit_invader/bit_invader.cpp: - added visual feedback when pressing wave-shape-buttons - - * include/combobox.h: - * include/led_checkbox.h: - * include/pixmap_button.h: - * src/widgets/combobox.cpp: - * src/widgets/led_checkbox.cpp: - * src/widgets/pixmap_button.cpp: - use automatableButton as new base-class - - * include/automatable_button.h: - * src/widgets/automatable_button.cpp: - - added class automatableButton to be the base-class for pixmapButton, - ledCheckBox etc. - - added automatableButtonGroup, a more powerful button-group, designed - to be used in conjunction with automatableButton-derived buttons - -2006-03-12 Tobias Doerffel - - * include/automatable_object.h: - - added setInitValue() to be used by ALL creators of automatable - objects for initializing object-value - otherwise edit-step-history - gets filled with steps to set object's value to init-value - - derive from editableObject and re-implement some methods for - transparent edit-history for all automatable objects (knobs etc.) - - * include/editable_object.h: - * include/edit_history.h: - * src/lib/edit_history.cpp: - added support for recording edit-steps, the base for a generic - undo/redo-system - -2006-03-09 Tobias Doerffel - - * include/settings.h: - * src/core/plugin_browser.cpp: - * src/core/song_editor.cpp: - * src/core/track_container.cpp: - * plugins/midi_import/midi_import.cpp: - * plugins/midi_import/midi_import.h: - made MIDI-file-code an import-filter - - * include/import_filter.h: - * src/core/import_filter.cpp: - support for import-filter-plugins - simply call - - importFilter::import( FILE_NAME, TRACK_CONTAINER ) - - for any file and the rest will be done fully automatically according - to installed import-filter-plugins - -2006-03-08 Zolo - - * data/themes/blue_scene/: - updated some pixmaps - - * data/themes/blue_scene/plugins/: - added pixmaps for plugins - -2006-03-08 Tobias Doerffel - - * src/core/timeline.cpp: - more logical loop-point-handling: - middle mouse button -> left loop-point - right mouse button -> right loop-point - - * plugins/audio_file_processor/audio_file_processor.cpp: - * plugins/bit_invader/bit_invader.cpp: - * plugins/organic/organic.cpp: - * plugins/plucked_string_synth/plucked_string_synth.cpp: - * plugins/triple_oscillator/triple_oscillator.cpp: - * plugins/vestige/vestige.cpp: - * include/plugin.h: - * src/core/instrument.cpp: - * src/core/plugin.cpp: - * src/lib/embed.cpp: - added support for plugin-theming - - * src/lib/embed.cpp: - - first search in artwork-directories before searching for embedded data - as most artwork is not linked into binary (except plugins) - - if pixmap not found, try to load according pixmap from - default-artwork-dir - - * include/embed.h: - * src/core/main.cpp: - * src/lib/embed.cpp: - as localizations are no longer embedded into binary, loadTranslation() - was moved to main.cpp and contains only some basic code for loading - appropriate translation from file - - * src/core/config_mgr.cpp: - several fixes concerning artwork-path - -2006-03-07 Tobias Doerffel - - * src/core/arp_and_chords_tab_widget.cpp: - more senseful range for arpeggio time: 25-2000 ms (instead of 10-1000ms) - - * src/audio/audio_alsa.cpp: - * src/audio/audio_oss.cpp: - * src/midi/midi_alsa_raw.cpp: - * src/midi/midi_alsa_seq.cpp: - * src/midi/midi_oss.cpp: - only specify threading-priority when using Qt 3.3.5 or above as older - versions cause problems when running the whole app with realtime - priority - fixes several lockups - - * src/widgets/knob.cpp: - when moving mouse while having shift pressed, increase/decrease by - single steps - - * src/core/envelope_tab_widget.cpp: - use 10 KHz as filter-maximum instead of 16 KHz - - * include/track.h: - * src/core/track.cpp: - added HACK to avoid crash because of bug in Qt (< 3.3.5) when removing - track - - * src/core/config_mgr.cpp: - - use default-theme-path if theme-path from config-file doesn't exist - - add "/" to theme-path if missing - -2006-03-06 Alexey Kouznetsov - - * locale/ru.ts: - updated Russian translation - -2006-03-05 Tobias Doerffel - - * src/core/main_window.cpp: - always set to configured-state before showing setup-dialog on first - startup - -2006-03-04 Tobias Doerffel - - * src/core/engine.cpp: - finalize main-window after having mixer to start its audio-devices - - fixes crash on first time LMMS is started - -2006-02-28 Tobias Doerffel - - * data/locale/de.ts: - updated German translation - - * src/core/timeline.cpp: - use note::toNearestTact() in timeLine::mouseMoveEvent() instead of own - calculations - - * src/core/track.cpp: - per default make TCO-ops (create, move, resize) aligned on tact- - boundaries, free positioning/resizing can be achieved by pressing - after pressing mouse-button - - * include/midi_time.h: - added note::toNearestTact()-method - - * include/pattern.h: - * src/core/piano_roll.cpp: - * src/track/pattern.cpp: - do not quantize note-position while moving selection of notes - - * src/core/song_editor.cpp: - some layout-fixes for looking good with "Blue Scene" as well - -2006-02-27 Zolo - - * data/themes/blue_scene/: - added new theme for LMMS - -2006-02-27 Tobias Doerffel - - * src/core/song_editor.cpp: - * src/tracks/pattern.cpp: - do not crash when playing a pattern which is deleted - - * src/core/track_container.cpp: - pause mixer when cloning tracks for avoiding side-effects, probably - fixes some crash-bugs - - * include/config_mgr.h: - * include/setup_dialog.h: - * src/core/config_mgr.cpp: - * src/core/setup_dialog.cpp: - * src/lib/embed.cpp: - first simple support for theming - - * Makefile.am: - * configure.in: - re-organized all data-directories (samples, presets, localizations, - artwork etc.) and put them into data/ dir to be all installed into - $prefix/share/lmms - -2006-02-25 Tobias Doerffel - - * src/tracks/channel_track.cpp: - apply a very basic envelope at the beginning and the end of a note for - avoiding these "typical" clicks which were there before - -2006-02-22 Tobias Doerffel - - * configure.in: - * Makefile.am: - * src/lmms_single_source.cpp: - added support for compiling LMMS from one source file which often - results in a better/more optimized executable - - * include/note.h: - * include/piano_roll.h: - * src/core/note.cpp: - * src/core/piano_roll.cpp: - - simple quantization-support - - fixed lengths for drawing notes can be selected in piano-roll - - * resources/black_key.png: - * resources/black_key_pressed.png: - * resources/pr_black_key.png: - * resources/pr_white_key_big.png: - * resources/pr_white_key_small.png: - * resources/white_key.png: - * resources/white_key_pressed.png: - replaced by new graphics - - * src/core/engine.cpp: - delete piano-roll after song-editor and bb-editor as patterns being - destroyed still depend on it - -2006-02-21 Tobias Doerffel - - * src/tracks/channel_track.cpp: - do not lock mutex in processOutEvent() as it causes a deadlock when - having channel-activity-indicators enabled - - * include/midi_mapper.h - * include/project_notes.h: - * src/lib/sample_buffer.cpp: - * src/midi/midi_file.cpp: - * src/midi/midi_mapper.cpp: - * src/widgets/project_notes.cpp: - misc fixes for being able to compile LMMS from one source-file - - * include/automatable_object.h: - * include/knob.h: - * include/lcd_spinbox.h: - * include/led_checkbox.h: - * src/widgets/knob.cpp: - * src/widgets/led_checkbox.cpp: - * src/widgets/lcd_spinbox.cpp: - introduced template-class automatableObject for central value- - manipulation, range-checking etc. and made some classes (e.g. knob, - ledCheckBox, lcdCheckBox) derive from it - preparations for full - automation-support in LMMS - - * Makefile.am: - do not strip executable when installing as it makes even basic debugging - impossible - -2006-02-20 Tobias Doerffel - - * src/widgets/combobox.cpp: - * src/widgets/knob.cpp: - * src/widgets/led_checkbox.cpp: - draw shadowed text - - * include/mixer.h: - * src/core/arp_and_chords_tab_widget.cpp: - * src/core/mixer.cpp: - better xrun-detection and -handling (still not perfect) - - * include/mixer.h: - * src/tracks/channel_track.cpp: - fixed critical bug which made LMMS crash if xruns were detected and - notes were discarded by mixer and therefore deleted twice - -2006-02-19 Andreas Brandmaier - - * plugins/organic/organic.cpp: - * plugins/organic/organic.h: - * presets/Organic: - * presets/Bitinvader: - added waveshape knob - changed distortion method from clipping to foldback - renamed and added presets for Organic and BitInvader - -2006-02-18 Andreas Brandmaier - - * plugins/organic/organic.cpp: - * plugins/organic/organic.h: - * presets/Organic: - added new plugin synthesizer plugin organic and some presets - -2006-02-09 Tobias Doerffel - - * plugins/triple_oscillator/triple_oscillator.cpp: - per default set volume of each osc to 33% - - * allmost all files: - use engine-technology - - * include/engine.h: - * src/core/engine.cpp: - added engine- and engineObject-class providing new "engine-technology" - which makes singleton-classes obsoletes and offers a lot of new - possibilities like GUI-data-separation and having several projects - open at the same time - -2006-02-06 Tobias Doerffel - - * include/mixer.h: - * include/song_editor.h: - * src/core/mixer.cpp: - * src/core/song_editor.cpp: - simple xrun-detection - do not accept new note-play-handles if xruns - are detected - -2006-02-06 Andreas Brandmaier - - * plugins/bitinvader/bitinvader.cpp: - * plugins/bitinvader/bitinvader.h: - * plugins/bitinvader/graph.cpp: - * plugins/bitinvader/graph.h: - - code cleanup - - added drag&drop support to wavegraph - - added new BitInvader presets and improved old ones - -2006-02-05 Tobias Doerffel - - * include/basic_filters.h: - small optimizations: do not divide by 2.0, instead multiply with 0.5 - - * src/core/main.cpp: - set SCHED_FIFO-priority for LMMS if possible - - * plugins/vestige/communication.h: - * plugins/vestige/lvsl_client.cpp: - * plugins/vestige/lvsl_server.c: - - set SCHED_FIFO-priority for VST-server if possible - - no X-calls needed anymore - - more complete host-callback-implementation - - support for geometry-changes of plugin - - use std::list instead of std::vector for enqueing MIDI-events (faster) - - support for telling plugin system's language - - * configure.in: - when checking for VST-SDK-headers, use C++ compiler instead of - C-compilers as headers fail to compile with it - -2006-02-04 Tobias Doerffel - - * include/types.h: - * most files: - more strict typing -> types for samplerate, bpm, frame-count, - channel-count etc. - - * src/core/track.cpp: - when creating a track, pause mixer for not causing any trouble because - of incompletely initialized track etc. - fixes several crashes when - adding track while playing - - * include/mixer.h: - * src/core/mixer.cpp: - more "intelligent" mix-mutex-management for allow multiple pause()- - calls without ending in deadlock or crash because of mutex being - unlocked to early - -2006-02-02 Tobias Doerffel - - * configure.in: - made 0.1.4 release - - * Makefile.am: - added -rdynamic-switch again to make LMMS able to load plugins - - * include/track_container.h: - fixed bug which caused LMMS not being compilable using GCC 3 - -2006-02-01 Tobias Doerffel - - * configure.in: - made 0.1.3 release - - * lmms.1: - added manpage (taken from debian-package and updated) - - * include/base64.h: - * include/rubberband.h: - * plugins/bit_invader/graph.cpp: - * src/core/name_label.cpp: - * src/widgets/combobox.cpp: - * src/widgets/rubberband.cpp: - Qt4-compat fixes - - * locale/de.ts: - updated German translation - - * src/core/main.cpp: - updated copyright-notice in help-text - -2006-01-30 Tobias Doerffel - - * plugins/vestige/fstclient.h: - * plugins/vestige/fstclient.cpp: - - renamed to lvsl_client.* - - when waiting for plugin to have finished process()ing, usleep() some - micro-seconds for allowing better scheduling - - * plugins/vestige/lvsl_server.c: - - merged code from fstserver.cpp, fstserver.h and fstcore.c into one - source-file and removed rests of the old FST-API which makes all - the VST-code MUCH more cleaner and less redundant (LVSL = LMMS VST - Support Layer) - - VST SDK 2.4 compatibility (no need to fix headers with 2.4!) - -2006-01-29 Tobias Doerffel - - * plugins/bit_invader/bit_invader.cpp: - - call graph::setSamplePointer() after loading settings - - memcpy() samples in bitInvader::smoothClicked() instead of copying - them in a loop - - * plugins/bit_invader/graph.cpp: - - update after setting new sample - - * src/tracks/pattern.cpp: - - disable auto-cleanup during pattern-freeze - - initialize member m_progress in patternFreezeStatusDialig-dtor - fixes - bug which sometimes closed the window before actual freezing was - started - - * include/buffer_allocator.h: - * src/lib/buffer_allocator.cpp: - - added possibility to disable auto-cleanup at certain times e.g. when - freezing a pattern - - cleanup only every 10th free()-call for decreasing overhead - - only start searching for free bufs if there're enough remaining - -2006-01-24 Andreas Brandmaier - - * plugins/bit_invader/bit_invader.cpp: - * plugins/bit_invader/bit_invader.h: - * presets/BitInvader: - - changed sample buffer encoding in presets to base64 - - added BitInvader various presets - -2006-01-23 Tobias Doerffel - - * include/sample_buffer.h: - * src/lib/sample_buffer.cpp: - * plugins/audio_file_processor/audio_file_processor.cpp: - use new base64-code - - * include/base64.h: - * src/lib/base64.cpp: - added methods for encoding/decoding binary data to/from base64-encoded - data (wrapper-implementation for Qt4) - -2006-01-23 Andreas Brandmaier - - * plugins/bit_invader/bit_invader.cpp: - * plugins/bit_invader/bit_invader.h: - * plugins/bit_invader/graph.cpp: - * plugins/bit_invader/graph.h: - - improved mouse handling. - - replaced waveform generation methods by those of toby's oscillator - class - - added user-loadable waveform - - code cleanup - -2006-01-22 Tobias Doerffel - - * include/timeline.h: - * src/core/song_editor.cpp: - * src/core/timeline.cpp: - updates are now completely done by timeline/QTimer without being - called from song-editor out of non-GUI-thread which caused segfaults - etc. sometimes - - * include/name_label.h: - * src/core/name_label.cpp: - * src/tracks/bb_track.cpp: - * src/tracks/sample_track.cpp: - added support for user-defined track-icons - - * artwork/track_icons/*png: - added several icons to be used as track-icons - - * include/track.h: - * src/core/track.cpp: - * src/core/track_container.cpp: - do not hide track for completely repainting it, use special method for - it - - * include/pattern.h: - * src/tracks/pattern.cpp: - only repaint if necessary, otherwise just paint the pixmap we painted - before - - * include/bb_editor.h: - * src/core/bb_editor.cpp: - added combobox for selecting bb-track inside bb-editor - - * include/combobox.h: - * src/widgets/combobox.cpp: - - added clear()-method - - do not crash when having no items - - scale pixmap to fit into combobox - - place menu below combobox if possible - -2006-01-21 Tobias Doerffel - - * include/track.h: - * src/core/track.cpp: - * src/tracks/pattern.cpp: - * src/tracks/sample_track.cpp: - added support for used-defined track-height by pressing and - move mouse (with pressed button) - - * include/song_editor.h: - * include/track.h: - * include/track_container.h: - * src/core/song_editor.cpp: - * src/core/track.cpp: - * src/core/track_container.cpp: - take advantage of new rubberband: - - selecting track-content-objects of any type either via rubberband or - by clicking while pressing - - move selected track-content-objects - - delete selected track-content-objects - - * include/rubberband.h: - * src/widgets/rubberband.cpp: - added rubberband which either acts as wrapper for Qt4's QRubberBand or - as a widget imitating a rubberband - - * include/track.h: - * src/core/track.cpp: - draw vertical lines for each bar - - * include/bb_editor.h: - * include/song_editor.h: - * include/track_container.h: - * src/core/bb_editor.cpp: - * src/core/song_editor.cpp: - * src/core/track.cpp: - * src/core/track_container.cpp: - fixed all that stuff with annoying scrollbars which partly hid important - widgets - -2006-01-21 Andreas Brandmaier - - * plugins/bit_invader/bit_invader.cpp: - * plugins/bit_invader/bit_invader.h: - added smooth button - -2006-01-20 Tobias Doerffel - - * src/tracks/pattern.cpp: - also update after clearing all notes - - * include/piano_roll.h: - * include/song_editor.h: - * src/core/piano_roll.cpp: - * src/core/song_editor.cpp: - use new combobox for zooming-comboboxes - - * include/export_project_dialog.h: - * src/core/export_project_dialog.cpp: - - reject() dialog when pressing cancel - - use new combobox - - * include/arp_and_chords_tab_widget.h: - * src/core/arp_and_chords_tab_widget.cpp: - use new combobox with according arpeggio-mode-icons - - * include/envelope_tab_widget.h: - * src/core/envelope_tab_widget.cpp: - * resources/filter_2lp.png: - * resources/filter_ap.png: - * resources/filter_bp.png: - * resources/filter_hp.png: - * resources/filter_lp.png: - use new combobox with according filter-icons - - * include/combobox.h: - * src/widgets/combobox.cpp: - added own cool-looking combobox with menu-extension which basically - has the same API as QComboBox - -2006-01-19 Andreas M. Brandmaier - - * plugins/bit_invader/bit_invader.h: - * plugins/bit_invader/bit_invader.cpp: - * plugins/bit_invader/graph.h: - * plugins/bit_invader/graph.cpp: - added "BitInvader"-plugin, an usereditable wavetable-synthesizer - -2006-01-16 Tobias Doerffel - - * src/lib/mmp.cpp: - do not add "mmp"-extensions if there's already "mpt" (multimedia- - project-template) as extension - - * include/arp_and_chords_tab_widget.h: - * src/core/arp_and_chords_tab_widget.cpp: - - added new sync-mode to arpeggiator - - arpeggiator-modes are now selectable from combobox - -2006-01-15 Tobias Doerffel - - * src/core/file_browser.cpp: - use 7.5 instead of 8 as font-size - - * src/widgets/led_checkbox.cpp: - use 7.5 instead of 7 as font-size - - * include/gui_templates.h: - - added more precise pointSizeF()-method - - more precise point-size-calculation for pointSize()-method which - makes all fonts inside LMMS a bit bigger and everything more - readable - - * include/setup_dialog.h: - * src/core/note_play_handle.cpp: - * src/core/setup_dialog.cpp: - * src/tracks/channel_track.cpp: - added switches for disabling several UI-effects for a better - performance even on older hardware - - * include/preset_preview_play_handle.h: - * src/core/preset_preview_play_handle.cpp: - global-data-mutex is not a pointer anymore, instead it's a normal - QMutex - fixes crashes with sort-arpeggio if no preset was previewed - before - -2006-01-14 Tobias Doerffel - - * src/widgets/kmultitabbar.cpp: - made KMultiTabBar working with Qt4 - - * src/audio/audio_jack.cpp: - return if connection to JACK-server failed with old JACK-API - (jack_client_new(...)) - fixes crash when using old JACK-API with - LMMS and JACK-server is not running - - * include/preset_preview_play_handle.h: - * src/core/arp_and_chords_tab_widget.cpp: - * src/core/preset_preview_play_handle.cpp: - as preset-note-play-handle is not registered at mixer, it cannot be - returned in notePlayHandle::nphsOfChannelTrack() and therefore - previewing presets with sort-mode arpeggios doesn't work - now the - arpeggiator also checks preview-note for being the only note there - - * src/core/arp_and_chords_tab_widget.cpp: - fixed some bugs in arpeggiator - - * src/core/piano_roll.cpp: - lock qapp-thread in recordNote() - hopefully fixes some - xlib-async-errors - - * src/tracks/channel_track.cpp: - - do not process note-on-out-events if according key is already pressed - - when invalidating note-play-handles, also reset m_notes-array for not - crashing when applying another preset while key is pressed and - released afterwards - -2006-01-10 Alexey Kouznetsov - - * locale/ru.ts: - updated Russian translation - -2006-01-10 Tobias Doerffel - - * src/core/piano_roll.cpp: - update pattern after changing volume of step-note - -2006-01-09 Tobias Doerffel - - * include/setup_dialog.h: - * src/core/config_mgr.cpp: - * src/core/setup_dialog.cpp: - made appearence of two dialogs switchable (question whether to re-run - wizard after up-/downgrade and message after accepting setup-dialog) - -2006-01-08 Tobias Doerffel - - * include/piano_roll.h: - * src/core/piano_roll.cpp: - * src/tracks/pattern.cpp: - simple support for editing (existing) steps in piano-roll, e.g. for - changing key of a step - - * plugins/vestige/vestige.cpp: - per default switch to users VST-plugin-directory when opening plugin - - * include/config_mgr.h: - * include/setup_dialog.h: - * src/core/config_mgr.cpp: - * src/core/setup_dialog.cpp: - added possibility to setup working-directory and location of VST-plugins - - * src/widgets/tempo_sync_knob.cpp: - removed a lot of obsolete #include's - - * include/piano_widget.h: - * src/core/note_play_handle.cpp: - * src/core/piano_widget.cpp: - display played keys as if they were pressed - - * include/arp_and_chords_tab_widget.h: - * include/note_play_handle.h: - * src/core/arp_and_chords_tab_widget.cpp: - * src/core/note_play_handle.cpp: - added sort-mode for more powerful arpeggios - - * src/core/arp_and_chords_tab_widget.cpp: - fixed bug which made the arpeggiator skipping notes sometimes at - certain arpeggio-times - - * src/core/lmms_main_win.cpp: - commented out code for creating effect-board-window-button - - * src/core/channel_track.cpp: - removed inclusion of paths.h which isn't part of LMMS for quite a long - while... - there were no problems because Linux has paths.h too - -2006-01-06 dieEasy - - * locale/it.ts: - added Italian translation - -2006-01-02 Tobias Doerffel - - * plugins/vestige/vestige.cpp: - set vestige-logo as window-icon of plugin-GUI-window - - * src/core/instrument.cpp: - set logo of plugin as window-icon of channel-track - - * include/dummy_instrument.h: - * include/dummy_plugin.h: - * include/instrument.h: - * include/plugin.h: - * src/core/instrument.cpp: - * src/core/plugin.cpp: - small changes in plugin-API: plugin now always has to pass pointer to - plugin-descriptor to plugin-dtor to make the latter one able to - provide several information - - * src/core/plugin.cpp: - search for plugin-libs in configManager::pluginDir() which is - $prefix/lib/lmms - hopefully solves problems with finding plugins on - some systems - - * include/channel_track.h: - * include/midi_tab_widget.h: - * src/core/midi_tab_widget.cpp: - * src/tracks/channel_track.cpp: - when using Raw-MIDI-client, make items "MIDI input/output" checkable - and enable/disable MIDI-input/output accordingly if user - checked/unchecked it and update check-state if user changed MIDI-mode - in midi-tab-widget in channel-track - - * src/core/midi_tab_widget.cpp: - set MIDI-output-channel to 1 per default - - * src/lib/sample_buffer.cpp: - added flac-files to filter of file-selection-dialog - - * include/note_play_handle.h: - * src/core/note_play_handle.cpp: - when invalidating note-play-handle, do some stuff which actually would - be done by dtor if m_channelTrack wouldn't be NULL - -2006-01-01 Tobias Doerffel - - * src/core/track.cpp: - added tooltip to track-op-widget telling the user something about - drag'n'drop-functionality... - - * include/lmms_main_win.h: - * src/core/lmms_main_win.cpp: - * src/lib/string_pair_drag.cpp: - if main-window looses focus or a drag is completed, clear - key-modifiers of LMMS-main-window, because we might have lost - key-release-events in these cases and therefore our modifier-state-map - could be incorrect - fixes several bugs concerning drag'n'drop - - * README: - * src/core/about_dialog.cpp: - extended copyright from 2005 to 2006 - Happy New Year! - -2005-12-31 Tobias Doerffel - - * include/channel_track.h: - * src/tracks/channel_track.cpp: - removed surround-area in track-settings-widget and added button with - MIDI-connection-menu instead - -2005-12-30 Tobias Doerffel - - * include/track.h: - * include/track_container.h: - * src/core/track.cpp: - * src/core/track_container.cpp: - revised all the things around track-operations: - - tracks are now directly movable via the grip at the beginning of a - track - replaces "move up/down"-buttons and is much more usable - - actions (clone/delete track) are now part of a popup-menu - - * src/core/lmms_main_win.cpp: - - corrected file-description at the beginning - - add space at left side before adding tool-buttons - - * src/core/midi_tab_widget.cpp: - use smaller font for connection-selection-menu - -2005-12-29 Tobias Doerffel - - * src/widgets/fade_button.cpp: - do not update() directly in nextState(), use QTimer instead for avoiding - xlib-threading-errors - -2005-12-28 Tobias Doerffel - - * plugins/vestige/communication.h: - * plugins/vestige/fstclient.cpp: - * plugins/vestige/fstclient.h: - * plugins/vestige/fstserver.cpp: - * plugins/vestige/vestige.cpp: - * plugins/vestige/vestige.h: - - support for telling plugin current BPM, also catches BPM-changes - - handle plugins without GUI correctly - - * include/tool_button.h: - * src/widgets/tool_button.cpp: - catch toggle-signals to emit clicked()-signal which is necessary if a - button is checked using setChecked()-method and not by the user - - fixes some bugs with piano-roll - - * include/piano_roll.h: - * src/core/piano_roll.cpp: - - show text-float after user copied notes - - do not play note when just moving selection - - when update()ing paint everything in a pixmap which is painted in - paintEvent() - saves all the repaints everytime mouse-cursor is moved - and makes painting tool-cursor possible again - - * src/tracks/channel_track.cpp: - corrected calculation in channelTrack::masterKey() - -2005-12-27 Tobias Doerffel - - * include/piano_roll.h: - * src/core/piano_roll.cpp: - always reset cursor when receiving leave-event - - * include/channel_track.h: - * src/tracks/channel_track.cpp: - use new fade-button as MIDI-event-indicator as well as simple - play-default-tone-button - - * include/fade_button.h: - * src/widgets/fade_button.cpp: - added fade-button which can be activated and fades back to - default-color afterwards - - * src/core/arp_and_chords_tab_widget.cpp: - * src/core/envelope_and_lfo_widget.cpp: - * src/core/envelope_tab_widget.cpp: - * src/core/midi_tab_widget.cpp: - * src/core/note.cpp: - * src/core/song_editor.cpp: - * src/core/track.cpp: - * src/tracks/bb_track.cpp: - * src/tracks/channel_track.cpp: - * src/tracks/sample_track.cpp: - do not use QString::number() for saving scalar value with - setAttribute() as it is obsolete - - * src/audio/audio_alsa.cpp: - * src/audio/audio_oss.cpp: - start audio-thread with QThread::HightestPriority for having less xruns - - * src/tracks/pattern.cpp: - save m_steps-property, otherwise restoring it in loadSettings() makes - no sense... - fixes bug which caused LMMS to always reset number of - steps to 16 when loading files, even if the user created patterns - containing more than 16 steps - - * include/audio_dummy.h: - - fixed missing implementation of thread running the whole time and - calling audioDevice::processNextBuffer() -> fixes bugs & lockups when - using audio-dummy-driver - - thread now always waits the amount of time that is left for the - current buffer, so if rendering of current buffer went faster than - in realtime, the song doesn't play at a higher speed - -2005-12-26 Tobias Doerffel - - * plugins/vestige/vestige.cpp: - determine real key of note using channelTrack::masterKey - - * include/micro_timer.h: - moved micro-timer-class from mixer.cpp in separate header for being - available to all modules of LMMS - - * src/core/mixer.cpp: - added metronome-sounds when recording in piano-roll - - * src/lib/sample_buffer.cpp: - - added resample()-method for resampling whole sample-buffer - - after libsndfile try to load sample with libvorbis instead of - SDL_sound as the latter one seems to be buggy on few systems and - leads to unexpected crashes - - if sample-decoder doesn't resample sample automatically, do it - afterwards using resample() - - * src/core/track_container.cpp: - accept drops of type samplefile and sampledata too and create new - channel-track with AudioFileProcessor - - * plugins/audio_file_processor/audio_file_processor.cpp: - save/load sample-data which was dragged on plugin in settings - - * src/core/track.cpp: - display correct length and now additionally start- and end-position of - track-content-object - - * include/bb_track.h: - * src/tracks/bb_track.cpp: - do not align position and length of bb-track-objects on tact-boundaries - as it offers an interesting new feature (incomplete/start beats etc.!) - -2005-12-25 Tobias Doerffel - - * src/widgets/visualization_widget.cpp: - enable visualization-widget per default - - * plugins/vestige/vestige.cpp: - - do not crash when loading settings with empty plugin-attribute (e.g. - older projects/presets) - - set channel-name according to plugin-name - - added note-off-button for being able to note off hanging notes - (which sometimes occurs in combination with arpeggios) - -2005-12-24 Tobias Doerffel - - * plugins/vestige/vestige.cpp: - use new parameter-saving/loading-feature when saving/loading settings - - * plugins/vestige/communication.h: - * plugins/vestige/fstclient.cpp: - * plugins/vestige/fstclient.h: - * plugins/vestige/fstserver.cpp: - * plugins/vestige/fstserver.h: - * plugins/vestige/fstcore.c: - - added support for saving/loading parameters which almost completes - LMMS's rudimentary VST-support - - support for querying parameter-properties - - some changes in initialization of plugin - - * src/tracks/pattern.cpp: - pass unused wheel-events to trackContentObect for being able to scroll - within song-editor - -2005-12-23 Tobias Doerffel - - * plugins/vestige/fstcore.c: - a lot of clean-ups and other bug-fixes making VeSTige almost usable - and stable - - * plugins/vestige/fstclient.h: - * plugins/vestige/fstclient.cpp: - save PID of children when fork()ing XFST-server which is used for - sending SIGTERM when destroying everything - - * plugins/vestige/communication.h: - * plugins/vestige/fstclient.cpp: - * plugins/vestige/fstserver.cpp: - * plugins/vestige/fstcore.c: - do not show editor until client created x11-embed-widget - solves - problems with not-embedded plugins under KDE - - * plugins/vestige/fstserver.cpp: - rewrote MIDI-enqueueing-code as the old one was very buggy and - unreliable - - * plugins/vestige/vestige.h: - * plugins/vestige/vestige.cpp: - added mutex for plugin which solves some problems - - * include/mixer.h: - * src/core/mixer.cpp: - per default clear all play-handles but instrument-play-handles in - mixer::clear() as instrument-playhandles normally exist during the - whole life-time of a certain plugin and must not be deleted when just - stopping song etc. - - * include/play_handle.h: - added type-information, so every derived class has to pass a - type-constant to playHandle-constructor - -2005-12-22 Tobias Doerffel - - * configure.in: - made 0.1.2 release - -2005-12-21 Tobias Doerffel - - * src/lib/sample_buffer.cpp: - - first try to use libsndfile instead of SDL_sound for decoding sample - as SDL_sound sometimes doesn't handle samples (raw- and FLAC-files) - the correct way and returns unusable data while libsndfile seems to - work quite fine with these samples - - when using libsamplerate, use linear-interpolation per default - instead of zero-order-hold-resampling which results in MUCH higher - quality when resampling as it produces much less artifacts - - * src/core/file_browser.cpp: - classify files with extension "flac" as samples - - * src/widgets/tab_widget.cpp: - hide all other tabs when changing active tab - necessary for working - with Qt 4.1 - -2005-12-20 Danny McRae - - * resources/step_btn_on_100.png: - * resources/step_btn_yellow.png: - * include/pattern.h: - * src/tracks/pattern.cpp: - make it possible to change volume of steps in bb-editor using mouse - wheel and which changes color of step-button accordingly - -2005-12-20 Tobias Doerffel - - * src/lib/sample_buffer.cpp: - first implementation of FLAC-encoding/decoding for compressing buffers - before encoding them to base64 which results in smaller XML-files - - currently disabled as it's still buggy and unusable - - * src/lib/buffer_allocator.cpp: - in cleanup-method use list instead of vector for pool of buffers to be - removed - fixes crash with Qt4 - -2005-12-19 Tobias Doerffel - - * src/widgets/knob.cpp: - made knob ready for drag'n'drop of values - - * src/tracks/sample_track.cpp: - load and save/load sample-data which doesn't come from sample in/from - XML-node (base64-encoded) - -2005-12-18 Tobias Doerffel - - * src/tracks/pattern.cpp: - use Sint32 instead of Sint16 for determining central key, otherwise we - might get overflows when having a lot of notes - - * src/tracks/sample_track.cpp: - draw zero-line if sample is shorter than TCO - - * src/core/track.cpp: - display text-float with current position/size when moving/resizing TCO - - * src/core/song_editor.cpp: - do correct positioning for text-floats for master-volume/-pitch - - * include/envelope_and_lfo_widget.h: - * src/core/envelope_and_lfo_widget.cpp: - added support for user-defined wave-shapes - the user just has to drag - an audio-sample into envelope/lfo-widget and that's all ;-) - - * src/tracks/pattern.cpp: - * src/tracks/sample_track.cpp: - make sound-buffer of frozen pattern draggable to sample in - sample-track - - * include/sample_buffer.h: - * src/lib/sample_buffer.cpp: - support for base64-encoding of sample-data into a QString - - * src/core/track_container.cpp: - import MIDI-file to itself when getting according drag'n'drop-request - - * plugins/audio_file_processor/audio_file_processor.h: - * plugins/audio_file_processor/audio_file_processor.cpp: - receive drop-events (set dragged sample etc.) - - * plugins/vestige/fstclient.h: - * plugins/vestige/fstclient.cpp: - renamed removeVSTPlugin::write/readValue to write/readValueS for - compiling even with buggy GCC 3.x - - * include/file_browser.h: - * src/core/file_browser.cpp: - made up all that drag'n'drop-stuff, you're now able to drag samples - and presets directly to according channel, sample etc. - -2005-12-17 Tobias Doerffel - - * include/bb_editor.h: - * include/pattern.h: - * src/core/bb_editor.cpp: - * src/tracks/pattern.cpp: - always update according bb-tracks when changing pattern/it's length - - * include/track.h: - * src/core/track.cpp: - * src/core/track_container.cpp: - drag'n'drop everywhere - now you can drag every track-content-object - (e.g. a pattern) to every other track-content-object of the same type - or to a free place in an according track or just in another - track-container - - * include/mmp.h: - * src/lib/mmp.cpp: - allow additionally to load data from given string instead of file - - * include/timeline.h: - * src/core/timeline.cpp: - - disable magnetic loop-points when pressing control - - set start-point directly to given position when pressing middle - mouse-button, do the same for end-point of shift is pressed at the - same time - - * include/piano_roll.h: - * include/song_editor.h: - * src/core/piano_roll.cpp: - * src/core/song_editor.cpp: - use modifier-key-states from lmmsMainWin instead of monitoring them on - it's own - - * include/lmms_main_win.h: - * src/core/lmms_main_win.cpp: - capture key-events and save states of shift, control- and alt-key - everytime it changes - other widgets can use this for querying whether - one of these modifier-keys is pressed - -2005-12-16 Tobias Doerffel - - * configure.in: - added better LADSPA-check and fixed some other small things - - * src/core/mixer.cpp: - query attribute "mididev" instead of "midiclient" for determining - selected MIDI-device - fixes bug with apparently non-selectable - MIDI-device/-client - - * src/core/plugin.cpp: - * src/lib/ladspa_manager.cpp: - load plugins using QLibrary instead of platform-dependent dl-functions - -2005-12-15 Tobias Doerffel - - * include/audio_alsa.h: - do not include alsa-headers if they do not exist... - -2005-12-14 Tobias Doerffel - - * src/core/file_browser.cpp: - display text-float while loading sample for preview - - * plugins/audio_file_processor/audio_file_processor.cpp: - fixed bug which caused LMMS to crash when playing notes on - audio-file-processor, which was created out of preset containing link - to file which doesn't exist - - * src/core/song_editor.cpp: - use text-floats instead of status-bar - - * src/core/lmms_main_win.cpp: - removed status-bar - - * plugins/vestige/vestige.cpp: - show text-float while loading plugin - - * include/text_float.h: - * src/widgets/text_float.cpp: - heavy improvements on text-float-widget which is now also able to - display messages with title and pixmap and offers two static methods - for displaying a certain message - - * src/tracks/channel_track.cpp: - set project modified after accepting drops of presets/plugins - - * include/instrument_play_handle.h: - check for m_instrument being NULL because play-handle might be - invalidated and thus crash when referencing NULL-ptr - - * most files: - continued improving Qt4-support - -2005-12-13 Tobias Doerffel - - * most files: - made LMMS compatible with Qt4 again after heavy development under Qt3 - led to incompatibility with Qt4 - -2005-12-11 Tobias Doerffel - - * src/core/lmms_main_win.cpp: - * src/lib/mmp.cpp: - - default file-extension is now "mmp" (MultiMedia Project) instead of - "xml" for being able to associate mmp-files with LMMS in - file-managers etc. - futhermore LMMS-file-browser is much faster now - because it does not have to examine each file - - file-extension for song-templates is now "mpt" (MultiMedia Project - Template) - - * include/cpuload_widget.h: - * src/widgets/cpuload_widget.cpp: - added cool CPU-load-widget displaying LMMS's current CPU-usage - - * src/core/note_play_handle.cpp: - always check validity of sub-notes as they might not be known to mixer - and therefore not invalidated in certain situations which made LMMS - crashing (e.g. when deleting a channel-track which was current playing - some arpeggio-notes) - - * include/pattern.h: - * src/tracks/pattern.cpp: - start separate thread for freezing pattern as this doesn't block the - GUI-thread and user is now able to cancel pattern-freezing (which was - not possible after last rewrite a few days ago) - - * include/timeline.h: - * src/core/timeline.cpp: - use timer for periodically screen-updates - locking QApplication-mutex - isn't necessary anymore which makes LMMS not to hang when creating - new song while playing etc. - - * src/core/piano_roll.cpp: - when settings time-line-position, call setTact( 0 ) and - setTact64th( 0 )-members instead of pos() = 0 (the latter one leads - to crashes) - - * plugins/audio_file_processor/audio_file_processor.cpp: - update start- and end-frames of sample-buffer when loading settings - -2005-12-10 Tobias Doerffel - - * include/lmms_main_win.h: - * include/song_editor.h: - * src/core/lmms_main_win.cpp: - * src/core/song_editor.cpp: - * resources/toolbar_bg.png: - * resources/main_toolbar_bg.png: - heavy improvements on toolbars - - * include/nstate_button.h: - * src/widgets/nstate_button.cpp: - base-class is now toolButton instead of QPushButton - - * include/tool_button.h: - * src/widgets/tool_button.cpp: - - moved implemenation of toolButton into cpp-file - - added highlighting during mouse-over - - do not connect clicked()-signal if receiver and/or slot are NULL - -2005-12-09 Tobias Doerffel - - * include/channel_track.h: - * src/core/midi_tab_widget.cpp: - * src/core/preset_preview_play_handle.cpp: - added support for saving and restoring MIDI-connections of a channel - in ordinary channel-preset-data - - * include/channel_track.h: - * include/midi_tab_widget.h: - * src/core/midi_tab_widget.cpp: - * src/tracks/channel_track.cpp: - dropped support for switchable MIDI-event-routing as it is done per - default and actually makes no sense... - - * src/midi/midi_port.cpp: - do not process MIDI-out-event if channel = -1 - -2005-12-08 Tobias Doerffel - - * src/core/midi_tab_widget.cpp: - - always un-check items in port-menus when disabling receiving or - sending MIDI-events - - small GUI improvements - - * resources/midi_in.png: - * resources/midi_out.png: - added icons for MIDI-input- and MIDI-output-port-selection - -2005-12-07 Tobias Doerffel - - * include/midi_alsa_seq.h: - * include/midi_client.h: - * include/midi_tab_widget.h: - * src/core/midi_tab_widget.cpp: - * src/midi/midi_alsa_seq.cpp: - * src/midi/midi_client.cpp: - added support for easy MIDI-port-subscription inside LMMS by just - selecting according source-/destination-port from a menu in - MIDI-setup-tab in each channel-window - -2005-12-06 Tobias Doerffel - - * src/core/note_play_handle.cpp: - * src/core/piano_roll.cpp: - * src/core/piano_widget.cpp: - * src/tracks/channel_track.cpp: - moved output-MIDI-event-generation-code from channel-track to - note-play-handles for covering arpeggio/chords and having exactly - timed events - makes it now possible to control other MIDI-based - synths etc. from patterns (which was not possible before because - of a small bug) - will drop MIDI-out-plugin very soon as it isn't - needed anymore - -2005-12-05 Tobias Doerffel - - * include/piano_roll.h: - * src/core/piano_roll.cpp: - - when moving mouse draw a bar at current key - - re-enabled mouse-tracking for cursor-changes when mouse is over tail - of note etc. - - * resources/zoom.png: - * src/core/song_editor.cpp: - * src/core/piano_roll.cpp: - added small zoom-icon to zoom-combobox - -2005-12-04 Tobias Doerffel - - * include/midi_alsa_raw.h: - * include/midi_client.h: - * include/midi_dummy.h: - * include/midi_oss.h: - * src/midi/midi_alsa_raw.cpp: - * src/midi/midi_client.cpp: - * src/midi/midi_oss.cpp: - renamed class midiRawClient to midiClientRaw - - * include/pattern.h: - * src/core/song_editor.cpp: - * src/tracks/pattern.cpp: - do not hang in endless loop when rendering pattern with enabled - looping-points - - * src/core/time_line.cpp: - align looping-points on bars - - * include/bb_editor.h: - * include/piano_roll.h: - * include/song_editor.h: - * include/timeline.h: - * include/tool_button.h: - * src/core/bb_editor.cpp: - * src/core/piano_roll.cpp: - * src/core/song_editor.cpp: - * src/core/timeline.cpp: - redesigned toolbars of song-editor, bb-editor and piano-roll - now - they're looking really cool and especially time-line-features are much - more usable - - * include/song_editor.cpp: - * src/core/lmms_main_win.cpp: - * src/core/song_editor.cpp: - - added main-toolbar at bottom of screen and moved several widgets from - song-editor-toolbar into it - - added high-quality-button for switching to 88200/96000 Hz - - * src/widgets/tab_widget.cpp: - reversed scroll-wheel-direction for changing tab - -2005-12-03 Tobias Doerffel - - * src/core/main.cpp: - - better handling of command-line options - - added help switch - - fixed bugs concerning rendering from command-line - - * include/audio_alsa.h: - * include/audio_device.h: - * include/audio_dummy.h: - * include/audio_file_device.h: - * include/audio_file_ogg.h: - * include/audio_file_wave.h - * include/audio_jack.h: - * include/audio_oss.h: - * include/audio_sdl.h: - * include/export.h: - * include/export_project_dialog.h: - * include/mixer.h: - * include/pattern.h - * include/song_editor.h: - * src/audio/audio_alsa.cpp: - * src/audio/audio_device.cpp: - * src/audio/audio_file_device.cpp: - * src/audio/audio_file_ogg.cpp: - * src/audio/audio_file_wave.cpp: - * src/audio/audio_jack.cpp: - * src/audio/audio_oss.cpp: - * src/audio/audio_port.cpp: - * src/audio/audio_sdl.cpp: - * src/core/export_project_dialog.cpp: - * src/core/lmms_main_win.cpp: - * src/core/main.cpp: - * src/core/mixer.cpp: - * src/core/song_editor.cpp: - * src/track/pattern.cpp: - changed architecture of mixer-system from push- to pull-architecture - which makes almost all things (song-export, pattern-freezing etc.) much - easier and also results in a better performance (especially when using - JACK) - additionally LMMS doesn't take 100% CPU anymore - -2005-12-02 Tobias Doerffel - - * src/core/config_mgr.cpp: - do not try to re-run wizard in case of version mismatches - - * configure.in: - * plugins/Makefile.am: - * presets/Makefile.am: - dropped ladspa_sine_1063-plugin as it is only for experimental - purposes - -2005-11-29 Tobias Doerffel - - * plugins/vestige/vestige.h: - * plugins/vestige/vestige.cpp: - changes for working with new VST-framework - - * plugins/vestige/fstclient.h: - * plugins/vestige/fstserver.h: - * plugins/vestige/fstclient.cpp: - * plugins/vestige/fstserver.cpp: - * plugins/vestige/fstcore.c: - * plugins/vestige/communication.h: - added new VST-framework (client-server-architecture) based on XFST - - * include/qxembed.h - * src/widgets/qxembed.cpp: - added QXEmbed-widget which is necessary for embedding VST-plugin - -2005-11-27 Tobias Doerffel - - * src/core/mixer.cpp: - added usleep()-call for realizing usable threading and solve problems - with 100%-CPU-usage - -2005-11-08 Tobias Doerffel - - * include/channel_track.h: - * include/sample_play_handle.h: - * include/sample_track.h: - * src/core/sample_play_handle.cpp: - * src/tracks/channel_track.cpp: - * src/tracks/sample_track.cpp: - made things work with audio-ports - - * include/mixer.h: - * src/core/mixer.cpp: - completely revised internal mixing-engine make it working with - the new audio-ports, which results in a much cleaner, faster and more - powerful mixing-engine - - * include/audio_port.h: - * src/audio/audio_port.cpp: - added so called audio-ports which are important for transporting sound - from it's origin through the mixer and the effect-board (the latter - one isn't existing yet but coming quite soon) - another important - point is the ability of having output-ports for each channel/sample- - track with JACK - - * src/tracks/channel_track.cpp: - translate default-channel-name "Default" - - * src/audio/audio_jack.cpp: - - sync JACK's buffer-size with LMMS's one - - start JACK-transport if not already done - - * include/mixer.h: - * src/audio/audio_jack.cpp: - * src/core/mixer.cpp: - * src/lib/sample_buffer.cpp: - * src/widgets/visualization_widget.cpp: - use memset() for clearing buffers - obsoletes usage of silence-buffers - in mixer - -2005-11-07 Tobias Doerffel - - * src/midi/midi_alsa_seq.cpp: - use relative instead of absolute scheduling for events which makes - MIDI-out working - -2005-10-31 Tobias Doerffel - - * include/midi_alsa_seq.h: - * src/midi/midi_alsa_seq.cpp: - several bug-fixes - -2005-10-30 Tobias Doerffel - - * include/midi_alsa_seq.h: - * src/midi/midi_alsa_seq.cpp: - added first version of ALSA-sequencer - currently doesn't handle all - common events, but note-on/off and key-pressure work so far - - * include/midi_client.h: - - added method applyPortMode() for making MIDI-subsystem able to get - known of port-mode changes which is necessary if they have REAL - ports like ALSA-seq. has - - renamed validatePortName() to applyPortName() and made it non-pure - virtual - - * src/tracks/channel_track.cpp: - initialize m_midiEventRoutingEnabled with FALSE per default in ctor - - * src/core/mixer.cpp: - delete midi-dev on exit - - * src/midi/midi_midi_alsa_raw.cpp: - when reading/saving device-name via config-mgr, use "midialsaraw" - instead of "midialsa" as context-name - -2005-10-28 Tobias Doerffel - - * src/widgets/project_notes.cpp: - set initial text to bright gray, since black text on a very dark back- - ground isn't very readable... - - * include/lmms_main_win.h: - * include/setup_dialog.h: - * src/core/bb_editor.cpp: - * src/core/lmms_main_win.cpp: - * src/core/setup_dialog.cpp: - * src/core/song_editor.cpp: - * src/widgets/project_notes.cpp: - added support for GIMP-like usability, i.e. no MDI - - * src/core/song_editor.cpp: - * src/core/bb_editor.cpp: - reorder some code in constructor for not crashing if window is - shown while constructor is still running - -2005-10-23 Tobias Doerffel - - * src/widgets/led_checkbox.cpp: - also emit toggled()-signal if state actually wasn't changed - - * include/lcd_spinbox.h: - * src/widgets/lcd_spinbox.cpp: - - display special strings if value is a certain number - - support for disabled-state (gray/no input) - - * include/midi_tab_widget.h: - * src/core/midi_tab_widget.cpp: - * src/tracks/channel_track.cpp: - added new tab "MIDI" for being able to setup MIDI-related stuff for - each channel - - * include/channel_track.h: - * include/midi*: - * include/piano_widget.h: - * include/setup_dialog.h: - * src/core/mixer.cpp: - * src/core/piano_roll.cpp: - * src/core/piano_widget.cpp: - * src/core/setup_dialog.cpp: - * src/core/song_editor.cpp: - * src/midi/midi*: - * src/tracks/channel_track.cpp: - coded a completely new, powerful and clean MIDI-system which e.g. makes - it possible to mask MIDI-events for each channel and to receive and send - (timed!) MIDI-events on a separate MIDI-port for each channel, which - only makes sense if using non-raw (sequenced) MIDI-client - currently - none existing, but ALSA-sequencer-support is in progress - - * include/midi_device.h: - * src/midi/midi_device.cpp: - removed - -2005-10-21 Tobias Doerffel - - * src/widgets/tempo_sync_knob.cpp: - do not implement the same code as knob does in mouseMoveEvent() - call - knob::mouseMoveEvent() instead - - * include/knob.h: - * src/widgets/knob.cpp: - cleaned up a lot and fixed some bugs - -2005-10-20 Tobias Doerffel - - * include/song_editor.h: - decreased MAX_BPM to 999 since BPM-LCD-spinbox is intended to have - only three digits while 1000 has four of them... ;-) - - * include/track_container.h: - * src/core/track_container.cpp: - trackContainer::scrollArea-class has now m_trackContainer-member - for storing parent which makes cast of parent-widget to track-container - (which sometimes failed...) obsolete - - * configure.in: - check for libfst and present VST-SDK header-files - -2005-10-19 Tobias Doerffel - - * plugins/vestige/vestige.h: - * plugins/vestige/vestige.cpp: - added possibility of opening plugins instead of hardcoding them ;-) - - * include/track.h: - renamed createTrack() and cloneTrack() to create() and clone() - - * include/track_container.h: - * src/core/track_container.cpp: - receive drop-events -> add channel with instrument/preset - - * src/audio/audio_jack.cpp: - removed usleep() out of loop in audioJACK::writeBufferToDev() since it - caused LMMS to hang e.g when removing a track - - * src/core/plugin_browser.cpp: - show hand-cursor if over a plugin-description-widget - - * src/widgets/pixmap_button.cpp: - if pixmap-button is set non-checkable, draw active-graphic if pressed - down and inactive one in normal state - - * include/lmms_main_win.h: - * src/core/lmms_main_win.cpp: - own workspace for making wheelEvent(...) is now obsolete -> removed - - * include/track_container.h: - * src/core/song_editor.cpp: - * src/core/track_container.cpp: - added own scroll-area for capturing special wheel-events where a - modifier-key (shift, control etc.) is pressed - - * src/core/song_editor.cpp: - removed add-channel-button as it is obsolete after adding plugin-browser - - * resources/: - improved icons such as project_*.png and sample-track-related icons - -2005-10-18 Tobias Doerffel - - * include/channel_track.h: - * src/tracks/channel_track.cpp: - - moved channelButton-implementation to channel_track.src - - added support for receiving drop-events, which makes channel-track - to load either the given instrument or the given preset - - * src/core/plugin_browser.cpp: - * include/plugin_browser.h: - added cool plugin-browser, which displays all available instrument- - plugins which are draggable to a channel-window/button - - * include/string_pair_drag.h: - * src/lib/string_pair_drag.cpp: - added drag'n'drop-implementation for dragging string-pairs (key/value) - which provides a standard-interface, although drag'n'drop has changed a - lot in Qt 4 - - * src/widgets/crystal_button.cpp: - made mouseMoveEvent()-method much more effective - - * Makefile.am: - * buildtools/Makefile.am: - build buildtools in subdir instead of top-build-directory - solves - dependendy problems with bin2res - - * src/core/file_browser.cpp: - do not depend on typeinfo of audioFileProcessor anymore by using - new setParameter()-method - - * include/plugin.h: - added setParameter() and getParameter()-methods for making LMMS able to - set parameters of a specific plugin without knowing anything about it - -2005-10-17 Tobias Doerffel - - * buildtools/bin2res.cpp: - * include/embed.h: - * src/lib/embed.cpp: - - declaration of embedded-data-descriptor is now located in embed.h and - part of namespace embed - - added support for local embedded-resources which is important for - plugins containing their own images etc., so data and access-methods - are stored into namespace PLUGIN_NAME - - * include/plugin.h: - * src/core/plugin.cpp: - added logo-field to descriptor-structure and simplified method for - getting descriptors of all plugins - - * include/basic_filters.h: - removed Moog-2-filter as it is only very CPU-intensive without any - significant difference to sound of normal Moog-filter - -2005-10-16 Tobias Doerffel - - * src/lib/ladspa_manager.cpp: - skip not existing/unreadable directories when searching for plugins - - * include/vestige.h: - * src/plugins/vestige.cpp: - make use of new instrument-play-handle - - * include/channel_track.h: - * src/core/browser.cpp: - * src/core/song_editor.cpp: - * src/midi/midi_file.cpp: - * src/tracks/channel_track.cpp: - renamed loadPlugin() to loadInstrument() - - * include/config_mgr.h: - * src/core/config_mgr.cpp: - added pluginDir()-method - - * include/instrument_play_handle.h: - added another play-handle for playing instruments which do not - produce sound for each note - - * src/plugins/: - renamed directory soundgenerators to plugins and modified all plugins - for working with revised plugin-system - - * include/instrument.h: - * include/plugin.h: - * src/core/instrument.cpp: - * src/core/plugin.cpp: - splitted code from instrument up into class plugin and class instrument - and revised plugin-system - - * include/instrument.h: - * src/core/instrument.cpp: - renamed files soundgenerator.* to instrument.* as well as class-name - -2005-10-15 Tobias Doerffel - - * include/vestige.h: - * src/soundgenerators/vestige.cpp: - new plugin "VeSTige" for handling VST-plugins - VERY experimental, - but at least, we get some sound out of these strange dll-files ;-) - -2005-10-13 Tobias Doerffel - - * src/audio/audio_jack.cpp: - do not fill up buffers if JACK-transport is not rolling but at the same - time always handle frame-syncing-var in JACK-callback, even if JACK- - transport is not rolling - fixes several bugs like lockups when - removing tracks while JACK-server is pausing... - - * src/widgets/knob.cpp: - fixed bug which caused hidden mouse-cursor forever when pressing right - mouse-button while left one is pressed - - * src/lib/ladspa_manager.cpp: - use /usr/lib/ladspa as default-directory if env-var LADSPA_PATH is not - set - - * src/soundgenerators/*.cpp: - removed obsolete defaultSettings()-method from each soundgenerator - -2005-10-13 Danny McRae - - * include/ladspa_manager.h - * include/ladspa_sine_1063.h - * src/lib/ladspa_manager.cpp: - * src/soundgenerators/ladspa_sine_1063.cpp: - added LADSPA-support and a simple soundgenerator for testing-purposes - -2005-10-12 Danny McRae - - * Makefile.am: - * include/led_checkbox.h: - * src/core/envelope_and_lfo_widget.cpp: - * src/widgets/led_checkbox.cpp: - inherit ledCheckBox from QWidget instead of QCheckBox since it sometimes - caused graphic-errors when running on KDE with Baghira-style... - -2005-10-05 Danny McRae - - * resources/note_double_whole.png: - * resources/note_eighth.png: - * resources/note_half.png: - * resources/note_none.png: - * resources/note_quarter.png: - * resources/note_sixteenth.png: - * resources/note_thirtysecond.png: - * resources/note_whole.png: - * resources/xclock.png: - added icons for context-menu of tempoSyncKnob - - * src/widgets/lcd_spinbox.cpp: - emit valueChanged()-signal in wheelEvent()-method - - * include/song_editor.h: - * src/core/song_editor.cpp: - - added getBPM()-method - - emit signal if BPM is changed - - * include/arp_and_chords_tab_widget.h: - * include/envelope_and_lfo_widget.h: - * src/core/arp_and_chords_tab_widget.cpp: - * src/core/envelope_and_lfo_widget.cpp: - use new tempoSyncKnob-widget instead of traditional time-knob - - * include/tempo_sync_knob.h: - * src/widgets/tempo_sync_knob.cpp: - added tempo-sync-knob which automatically converts fixed note-length's - to a fixed time in ms everytime BPM is changed - -2005-10-03 Tobias Doerffel - - * include/basic_filters.h: - - added another moog-filter which sounds a bit better but needs MUCH - more CPU-time... - - cleaned up different filter-code-branches - -2005-10-02 Tobias Doerffel - - * include/oscillator.h: - cast to int instead of floor()ing value in oscillator::phase() which - makes the whole thing faster again... - -2005-09-29 Tobias Doerffel - - * src/widgets/tab_widget.cpp: - fixed bugs when adding widget with already existing index - - * Makefile.am: - * include/midi_out.h: - * include/plucked_string_synth.h: - * src/soundgenerators/midi_out.cpp: - * src/soundgenerators/plucked_string_synth.cpp: - classes midiOut and pluckedStringSynth do not have slots or signals, - so Q_OBJECT-macros were removed and MOC-code isn't compiled anymore - - * include/sgs: - * src/core/plugin_management.cpp: - removed because not needed anymore with new plugin-system - - * configure.in: - * Makefile.am: - * include/audio_file_processor.h: - * include/channel_track.h: - * include/midi_out.h: - * include/plucked_string_synth.h: - * include/sound_generator.h: - * include/triple_oscillator.h: - * src/core/browser.cpp: - * src/core/sound_generator.cpp: - * src/core/song_editor.cpp: - * src/midi/midi_file.cpp: - * src/soundgenerators/*: - * src/tracks/channel_track.cpp: - made all sound-generator-plugins shared libraries loaded at runtime, - which gives much more flexibility because you can load songs/presets - from people having other plugins just by adding according lib*.so file - to /usr/lib - no need to recompile! - - * inlude/empty_sg_plugin.h: - added empty sound-generator plugin - -2005-09-28 Tobias Doerffel - - * include/song_editor.h: - * src/core/song_editor.cpp: - added combo-box for selectinf zooming-factor - - * include/piano_roll.h: - * src/core/piano_roll.cpp: - added combo-box for selecting zooming-factor - - * include/led_checkbox.h: - * src/widgets/led_checkbox.cpp: - added methods for querying and setting state - - * src/core/arp_and_chords_tab_widget.cpp: - * src/core/envelope_tab_widget.cpp: - better alignment of widgets inside each of this tabs - - * src/tracks/channel_track.cpp: - finished improving GUI of channel-track-window by using tabWidget - instead of tabBar for plugin-, env/lfo- and arp-widgets - - * include/envelope_and_lfo_widget.h: - * src/core/envelope_and_lfo_widget.cpp: - use ledCheckBox'es instead of pixmapButton's with QLabel's - - * include/tab_widget.h: - * src/widgets/tab_widget.cpp: - made tabWidget more powerful: - - use indexed tabs - - different painting if no caption was defined - - switch tabs if wheel-events occurs - -2005-09-27 Tobias Doerffel - - * src/tracks/channel_track.cpp: - began improving GUI of channel-track-window - - * projects/cool_songs/TobyDox-TheFourthDimension.xml: - added another song... - - * include/qt3support.h: - Qt 3.1-support - - * include/audio_alsa.h: - define macro ALSA_PCM_NEW_HW_PARAMS_API for working with older ALSA- - versions which offer old and new HW-param-API - we're using the new one - -2005-09-26 Tobias Doerffel - - * many files: - make LMMS compile with Qt 3.0 and GCC 2.95 - -2005-09-25 Tobias Doerffel - - * src/audio/audio_jack.cpp: - - decreased wait-time from 0.5 ms to 0.2 ms in writeBufferToDev(...) - - clear part of buffers that could not be filled for avoiding bad - noise in case there's no data from sound-render-thread, because it is - locked or got no cpu-time for some reason - - * src/core/timeline.cpp: - do not call update() in updatePosition, call paintEvent() directly - instead - hopefully fixes the "unexspected Xlib async replies" - which occured in some seldom cases because there were paint-events - generated - something that must not be done in other threads... - - * resources/source/songeditor.svg: - * resources/songeditor.png: - created a new song-editor-icon - - * src/core/song_editor.cpp: - do not save play-pos from previous play-mode when beginning to play - in different play-mode - fixes bug in timeline behaviour "back to start" - -2005-09-24 Tobias Doerffel - - * configure.in: - * include/audio_oss.h: - * include/midi_oss.h: - * src/audio/audio_oss.cpp: - * src/midi/midi_oss.cpp: - made LMMS compiling and working without OSS - configure detects - whether soundcard.h is available - - * include/gui_templates.h: - made template pointSize(...) platform-independent by not using x11- - specific qt-classes/-functions - - * include/templates.h: - moved pointSize-function with all the headers it depends on into - gui_templates.h - - * src/core/mixer.cpp: - - do not initialize member m_surroundSilence if surround is disabled - - free silence-buffers in dtor - - * src/tracks/bb_track.cpp: - when drawing gradient skip first and last line as a rect is painted - over it afterwards - - * src/core/track_container.cpp: - set modified-state for song when removing track - -2005-09-21 Tobias Doerffel - - * configure.in: - made 0.1.1 release - -2005-09-20 Tobias Doerffel - - * include/about_dialog.h: - * src/core/about_dialog.cpp: - no need for passing parent when creating about-dialog - - * src/core/song_editor.cpp: - - different usage of question-box in songEditor::mayChangeProject() - because of bugs with several qt-versions... - - when exporting song, do use baseName( TRUE ) instead of baseName() - for determining base-name of rendered file - - * src/core/lmms_main_win.cpp: - - display filename before app-name in window-title - - only use basename of filename in window-title - - added message referring to LMMS-homepage when clicking on - Help/Help - - * src/core/export_song_dialog.cpp: - use lmmsMainWin::resetWindowTitle() for resetting window-title - after export is done - - * src/widgets/knob.cpp: - do not add tooltips to knobs - clicking on knob has quite the same - effect so tooltips are just annoying - - * src/core/browser.cpp: - when matching file-name, always convert them to lower case for also - handling files like foo.WAV - - * src/core/config_mgr.cpp: - added setValue(...)-call for saving working-directory after setting - up everything - fixes bug with empty browsers after fresh personal - installation of LMMS - -2005-09-19 Tobias Doerffel - - * configure.in: - made 0.1.0 release - -2005-09-18 Tobias Doerffel - - * src/tracks/bb_track.cpp: - revised paintEvent()-method -> bb-TCO's are now painted with a gradient! - - * src/core/song_editor.cpp: - - call bbEditor::stop before playing to make sure play-button in - bb-editor is properly reset - - call realignTracks() with parameter TRUE in wheelEvent(...) - - some hacks for making pause-button work... - - * src/core/track_container.cpp: - added parameter _complete_update to trackContainer::realignTracks() - to be able to hide and show all tracks which is necessary e.g. - after having changed pixels-per-tact-property -> zooming in song-editor - works now well - - * src/core/setup_dialog.cpp: - added message-box telling the user to restart LMMS - - * include/midi_alsa_raw.h: - * include/midi_device.h: - * include/midi_oss.h: - * include/midi_dummy.h: - * include/mixer.h: - * include/setup_dialog.h: - * src/core/mixer.cpp: - * src/core/setup_dialog.cpp: - * src/midi/midi_alsa_raw.cpp: - * src/midi/midi_device.cpp: - * src/midi/midi_oss.cpp: - made it possible to select and setup MIDI-device - - * include/knob.h: - * src/widgets/knob.cpp: - - many cleanups, coding style improvements etc. - - added new behaviour for controlling knob -> move cursor up/down for - changing value - - replaced usage of status-bar by text-float-widget - - * include/text_float.h: - * src/widgets/text_float.cpp: - took text-float from Rosegarden - - * include/config_mgr.h: - * src/core/config_mgr.cpp: - - fixed bug in configManager::setValue(): new value-pair was always - pushed back, even if it already existed, so result of value() didn't - change until restart - - moved widget-creation-code from ctor to new method createWidgets() - which fixes problems with unlocalized strings in wizard because - embed::loadTranslation() calls configManager::inst()->localeDir() - for determining path to localization files - this call created all - wizard-widgets before actual localization was loaded... - -2005-09-17 Tobias Doerffel - - * src/core/setup_dialog.cpp: - added switches for disabling tooltips and turning on classical knob- - behaviour - - * include/led_checkbox.h: - * src/widget/led_checkbox.cpp: - added LED-check-box - -2005-09-16 Tobias Doerffel - - * src/core/mixer.cpp: - clear output-buffers in ctor before using them -> avoids awful noises - at startup - - * src/core/mixer.cpp: - * src/lib/sample_buffer.cpp: - * src/tracks/channel_track.cpp: - * src/tracks/sample_track.cpp: - use given frame-parameter in methods playing sample-buffers instead - of mixer::framesPerAudioBuffer() -> no clicks at tact-border because - of odd sample-frame-count - - * src/core/lmms_main_win.cpp: - call presetPreviewPlayHandle::cleanUp() in dtor -> fixes segfault which - which occured at exit if you previewed a channel during session - - * include/preset_preview_play_handle.h: - * src/core/preset_preview_play_handle.cpp: - added cleanUp()-method which deletes blind track-container containing - preset-preview-channel - - * src/soundgenerators/triple_oscillator.cpp: - - unified much code by defining setChecked when compiling with Qt 3 - - also set file-name of user-defined-wave as tool-tip when loading - settings - - * most files in src/: - use new tooltip-system - removes qt3/qt4-compat-code - - * include/tooltip.h: - * src/widget/tooltip.cpp: - added tooltip-namespace with method "add(...)" for allowing transparent - usage of tooltips, so there's no difference to code using tooltips - whether it is compiled with Qt 3 or Qt 4 - -2005-09-14 Tobias Doerffel - - * include/mixer.h: - * include/note_play_handle.h: - * include/play_handle.h: - * src/core/mixer.cpp: - * src/core/note_play_handle.cpp: - * src/tracks/channel_track.cpp: - added play-handle-invalidating-feature making it possible to - invalidate notes of which the objects they depend on do not exist - anymore or things like that. for example channel-track-dtor - invalidates all note-play-handles linked with according channel - -> no segfault when deleting channel-track - - * src/core/track_container.cpp: - pause mixer before removing track -> no segfault - - * src/lib/mmp.cpp: - initialize m_type in mmp::multimediaProject( projectTypes ) - - * src/lib/buffer_allocator.cpp: - added mutex for better protection against parallel accesses from - several threads - fixes some segfaults - - * src/core/lmms_main_win.cpp: - improved ~lmmsMainWin() which now first instructs mixer to quit it's - thread for avoiding spurious usages of objects to be destroyed - afterwards -> no segfault at the end - - * src/core/export_song_dialog.cpp: - * src/tracks/pattern.cpp: - cleaned up exporting/freezing mechanisms by using mixer's new methods - play() and pause() - - * include/mixer.h: - * src/core/mixer.cpp: - cleaned up mixer-thread syncing stuff by reorganizing mutexes and - replacing m_waitMutex by m_safetySyncMutex as well as according methods - lockWaitMutex() and unlockWaitMutex() by play() and pause() - - * src/core/setup_dialog.cpp: - tell config-manager to save it's config-file when setupDialog is - destroyed - -2005-09-13 Stephane Thomas - - * locale/fr.ts: - added French translation - -2005-09-13 Tobias Doerffel - - * src/core/lmms_main_win.cpp: - - show setup-dialog if LMMS is started first time or mixer uses dummy- - audio-driver - - added setup-dialog-entry to settings-menu - - * src/lib/mmp.cpp: - if saving preset, check whether file-name contains suffix ".cs.xml" - and add it if necessary - - * include/midi_alsa_raw.h: - * src/midi/midi_alsa_raw.cpp: - * src/midi/midi_device.cpp: - - changed everything (including file-names) from midiAlsa to midiALSARaw - - added terminate()-call in dtor for terminating thread properly - - * include/tab_bar.h: - * src/widget/tab_bar.cpp: - - added flag for addTab(...)-method indicating whether to use given - text as caption or just as tooltip - - reduced #ifdef QT4-macros by defining some names when compiling - with Qt3 - - * include/setup_dialog.h: - * src/core/setup_dialog.cpp: - added help-button in audio-setup-tab and improved geometry-stuff - - * include/audio_alsa.h: - * include/audio_oss.h: - * src/audio/audio_alsa.cpp: - * src/audio/audio_oss.cpp: - added probeDevice()-method which eases determining device-name in - either actual audio-class as well as in it's setup-widget - -2005-09-11 Tobias Doerffel - - * src/core/mixer.cpp: - use new audio-settings-technology for opening audio-device - - * include/setup_dialog.h: - * src/core/setup_dialog.cpp: - added setup-dialog for general-, audio- and MIDI-settings - - * include/audio_alsa.h: - * include/audio_device.h: - * include/audio_dummy.h: - * include/audio_jack.h: - * include/audio_oss.h: - * include/audio_sdl.h: - * src/audio/audio_alsa.cpp: - * src/audio/audio_device.cpp: - * src/audio/audio_jack.cpp: - * src/audio/audio_oss.cpp: - * src/audio/audio_sdl.cpp: - added setup-widget-technology making it possible to have audio-device- - specific setup-widgets which can be used in setup-dialog etc. - - * include/lcd_spinbox.h: - * src/widgets/lcd_spinbox.cpp: - added stepping-functionality - - * include/tab_widget.h: - * src/widgets/tab_widget.cpp: - pass caption to constructor instead of using fixed text - - * include/tab_bar.h: - * src/widgets/tab_bar.cpp: - - added direction-parameter in constructor - - added exclusive-property - - addTab(...) returns now pointer to tab-button which gives caller - possibility to modify the button - - * src/core/mixer.cpp: - save frames-per-audio-buffer-value in ctor if not set yet instead - of saving it in dtor - - * src/lib/embed.cpp: - do not return null-pixmap if pixmap not found - -2005-09-10 Tobias Doerffel - - * resources/setup_audio.png: - * resources/setup_general.png: - * resources/setup_midi.png: - added icons to be used in setup-dialog - - * src/audio/audio_alsa.cpp: - * src/audio/audio_sample_recorder.cpp: - use auto-cleaning pointer in createSampleBuffer(...) (fixes memory-leak - in ALSA-driver) - - * include/buffer_allocator.h: - added simple class for auto-cleaning pointers - - * src/core/mixer.cpp: - - added delete-calls in mixer::tryAudioDevices() - - init s_instanceOfMe-member in dtor, otherwise LMMS hangs up - - * locale/: - * artwork/: - moved translations and some artwork-stuff into locale- and artwork- - directory which is going to be installed into - LMMS-data-dir (/usr/share/lmms etc.) and shrinks executable - - * src/lib/embed.cpp: - added possibility to have resources in external files instead of being - linked into executable - - * configure.in: - - use macro AS_HELP_STRING for formatting help-strings - - removed --with-latency option as it is not needed anymore - -2005-09-06 Alireza - - * resources/ir.ts: - added Persian translation - -2005-09-04 Tobias Doerffel - - * src/audio/audio_oss.cpp: - - read device-name from config-file before evaluating environment- - variables etc. - - fixed bugs with device-probing (after dev-file was searched, there - was no open(...)-call again so it always failed if the first open(...) - didn't work - - * src/audio/audio_alsa.cpp: - read device-name from config-file before evaluating environment- - variables or using "default" - - * src/core/lmms_main_win.cpp: - call bufferAllocator::cleanUp( 0 ) for destroying all allocated buffers - - * include/buffer_allocator.h: - * src/lib/buffer_allocator.cpp: - - added clean-up-technique which removes least used buffers if - buffer-size exceeds limits (which depends on mixer's buffer-size) - - added field to bufDesc indicating usage of this buf - used by - alloc-method for determining most used, free and matching buffer - - * include/lcd_spinbox.h: - * src/widgets/lcd_spinbox.cpp: - made lcdSpinBox controlable by scroll-wheel - - * src/widgets/knob.cpp: - do not center knob if width of label is greater than actual knob - - * src/audio/audio_sample_recorder.cpp: - use bufferAllocator instead of new[]/delete[] - - * src/core/mixer.cpp: - - read value for frames-per-audio-buffer out of config-file and save - it at exit - - free buffer at exit - - * include/config_mgr.h: - * src/core/config_mgr.cpp: - added value() and setValue()-method which offers all components of LMMS - an easy way for loading/saving their settings at startup/exit - -2005-09-02 Mario Izquierdo -2005-09-02 Johnny Saenz - - * resources/es.ts: - added Spanish translation - -2005-09-02 Tobias Doerffel - - * most files: - finished changes began on 2005-08-29 - - * include/buffer_allocator.h: - * src/lib/buffer_allocator.cpp: - - only return aligned pointers - - small changes in API - - * resources/de.ts: - completed German translation - -2005-08-29 Tobias Doerffel - - * most files: - begin to use new bufferAllocator instead of old buffer-types and - use mixer-method for determining current number of frames per - audio-buffer - - * include/mixer.h: - types audioBuffer and surroundAudioBuffer don't exist anymore as well - as the constant FRAMES_PER_AUDIO_BUFFER - use - mixer::inst()->framesPerAudioBuffer() instead - -2005-08-28 Tobias Doerffel - - * include/song_editor.h: - * src/core/song_editor.cpp: - replaced QSpinBox by lcdSpinBox for BPM-spinbox - - * include/tab_bar.h: - * src/widgets/tab_bar.cpp: - removed function-parameter _font_size for tabBar::addTab(...) - - * most files: - - replaced QFont::setPointSize()-calls by according pointSize()-calls - which makes LMMS usable at any DPI-resolution - - changes for Qt4-compatibility - - * include/misc.h: - * include/template.h: - moved misc.h to template.h and added template-function pointSize - which sets a DPI-independent size for a given font - - * src/tracks/channel_track.cpp: - use labeling-feature of LCD-spinbox and removed old QLabel and - layouting-stuff - - * include/lcd_spinbox.h: - * src/widgets/lcd_spinbox.cpp: - - fixed bug: when moving mouse up, value was not updated properly - - added labeling-feature - - added valueChanged()-signal - - * src/core/arp_and_chords_tab_widget.cpp: - set m_arpDirection correct when loading older settings - -2005-08-27 Tobias Doerffel - - * include/channel_track.h: - * src/tracks/channel_track.cpp: - use new LCD-spinbox for effect-spinbox - - * include/lcd_spinbox.h: - * src/widgets/lcd_spinbox.cpp: - added LCD-spinbox, an improved QLCDNumber with ability of user-input - - * src/core/main.cpp: - changed highlight- and text-color to dark white instead of glaring green - for many people didn't like it... - - * include/audio_jack.h: - * src/audio/audio_jack.cpp: - - read and observe buf-size from JACK, so that writeBufferToDev() can - wait accordingly to it - now JACK-transport also works if buf-sizes - of LMMS and JACK are different - - also free buffers in destructor and not just throw them out of list - -2005-08-26 Tobias Doerffel - - * include/audio_jack.h: - * src/audio/audio_jack.cpp: - - also work with older versions which do not have jack_client_open() - - fixed bugs - - use bufferAllocator instead of new[] and delete[] in time-critical - functions - - * include/buffer_allocator.h: - * src/lib/buffer_allocator.cpp: - added bufferAllocator which is an optimized internal memory-manager - -2005-08-24 Tobias Doerffel - - * include/audio_jack.h: - * src/audio/audio_jack.cpp: - beginning of support for JACK-transport - - * src/audio/audio_sdl.cpp: - fixed memory leak - m_outputBuffer was not deleted in destructor - - * src/core/arp_and_chords_tab_widget.cpp: - completed usage of switchable groupboxes by saving groupbox-states - and evaluating them in processNote() - -2005-08-22 Tobias Doerffel - - * resources/afp_artwork.png: - small improvements for better usability and internationalization - - * src/soundgenerators/audio_file_processor.cpp: - - cleanups and small improvements concerning painting - - added missing tooltips - - moved open-sample-button right to filename-display-bar - - * src/widgets/pixmap_button.cpp: - changed default-pixmaps to led_yellow.png and led_off.png - - * resources/pattern_bg.png: - resized from 2x43 to 2x25 - - * src/core/name_label.cpp: - decreased default-font - - * include/track.h: - decreased size of track-settings-widget from 256 to 224 - - * include/channel_track.h: - * src/tracks/channel_track.cpp: - - use labeling-feature of knob for labeling volume-knob - - use smaller surroundArea in track-settings-widget and smaller - channel-button with smaller font - - * src/core/surround_area.cpp: - made surroundArea working with different widget-sizes than default size - - * resources/background_artwork.png: - made bg-image more pale - - * include/bb_editor.h: - * src/core/bb_editor.cpp: - changed painting-behaviour and made button-bg-gfx's obsolete by using - specialBgHandlingWidget - - * include/groupbox.h: - * src/widgets/groupbox.cpp: - improved groupbox by adding animation and more - - * src/core/envelope_and_lfo_widget.cpp: - * src/core/envelope_tab_widget.cpp: - - use knobs new labeling-feature - - use new tab-widget for target-widgets - - * include/tab_widget.h: - * src/widgets/tab_widget.cpp: - added own tab-widget which looks much cooler than Qt's one - - * src/core/arp_and_chords_tab_widget.cpp: - - using now new groupbox-widget and reorganized knob/switch-positions - - revised arpeggio-direction-buttons - - use knobs new labeling-feature - - removed obsolete headers - - * include/knob.h: - * src/widgets/knob.cpp: - added labeling-feature for automatically labeling knobs with given - text - - -2005-08-21 Tobias Doerffel - - * src/widgets/side_bar_widget.cpp: - * src/tracks/channel_track.cpp: - * src/core/config_mgr.cpp: - * src/core/piano_roll.cpp: - * src/core/arp_and_chords_tab_widget.cpp: - * src/core/main.cpp: - * src/core/browser.cpp: - replaced painting-device-dependent method setPixelSize by setPointSize - - * src/core/envelope_and_lfo_widget.cpp: - now using new group-box which looks much cooler and is more usable - - * include/groupbox.h: - * src/widgets/groupbox.cpp: - added own groupbox-widget with state-LED - - * src/widgets/pixmap_button.cpp: - delete m_bgPixmap in destructor - - * include/spc_bg_hndl_widget.h: - - made member m_backgroundPixmap to normal QPixmap instead of pointer to - it which also fixes a memory leak as dtor didn't delete the pixmap - - also use erase-pixmap of widget if available - - * include/oscillator.h: - - made shape-functions using phase()-function for determining phase of - sample - - made oscillator::phase() using modff instead of floorf-math which - makes the whole thing up to 20% faster - - * src/core/about_dialog.cpp: - added URL of project-page of LMMS - - * src/core/song_editor.cpp: - create new project if file given in cmd-line is not read-/usable - - * include/export_project_dialog.h: - * include/song_editor.h: - * src/core/main.cpp: - * src/core/song_editor.cpp: - added --render command-line-switch to render file and quit as soon as - job is done - very good for benchmarks - - * src/core/main.cpp: - added --version command-line-switch - -2005-08-20 Tobias Doerffel - - * src/core/lmms_main_win.cpp: - - extended filter for sample-browser - - added home- and root-browser for being able to load songs, presets, - samples etc. from somewhere else than within lmms-working-directory - -2005-07-27 Tobias Doerffel - - * src/core/lmms_main_win.cpp: - * src/core/track_container.cpp: - * src/core/track.cpp: - by completing destructors and fixing some other small bugs there's - finally no seg-fault when quitting app! (the bug annoying for months...) - - * include/track_container.h: - all public-slots were made to normal public and FASTCALLed functions - since they aren't connected to a signal anywhere and it just blows up - qt-moc-code - - * include/sample_track.h: - made method sampleTCO::changeLength(...) FASTCALLed since it's virtual - and method in base-class is also FASTCALLed - eliminates crash when - resizing sample - - * include/track.h: - * src/core/track.cpp: - removed unsused method setTrackWidgetHeight( int ) - -2005-07-26 Pedro Lopez-Cabanillas - - * src/core/browser.cpp: - * src/core/config_mgr.cpp: - * src/core/lmms_main_win.cpp: - * src/core/main.cpp: - * src/core/song_editor.cpp: - * src/lib/mmp.cpp: - * src/tracks/pattern.cpp: - * src/widgets/project_notes.cpp: - small changes for compatibility with Qt 3.1 - - * src/midi/midi_alsa.cpp: - * src/midi/midi_oss.cpp: - added MIDIDEV-environment variable for being able to choose a MIDI - device different from the default one - -2005-07-24 Tobias Doerffel - - * include/midi_mapper.h: - * src/midi/midi_mapper.cpp: - added MIDI-mapper to be used in combination with midiDevice's and/or - MIDI-Out-Plugin which can read MIDI-maps added before - - * midi-maps/*map: - added MIDI-maps from KMid - - * include/midi_dummy.h: - * src/midi/midi_device.cpp: - added dummy MIDI-driver for not crashing if no MIDI-device is available - - * src/core/piano_roll.cpp: - - go to start of pattern when pressing home-key - - added support for zooming - - * src/core/song_editor.cpp: - - fixed bug with loop-points by setting current-frame-var to zero to - force reset of it - - added auto-scrolling ability - - fixed bug which caused horizontal scrollbar to have an undefined - max-value after starting up LMMS - - go to start of pattern when pressing home-key - -2005-07-23 Alexey Kouznetsov - - * resources/ru.ts: - added Russian translation - -2005-07-23 Tobias Doerffel - - * src/core/piano_roll.cpp: - scroll back when stopping and play-position changes to invisible area - - * include/time_line.h: - * src/core/song_editor.cpp: - * src/core/time_line.cpp: - added control-buttons to time-line making it possible to control - things like auto-scrolling, looping and play-position after stop - - * src/midi/midi_device.cpp: - limit volume between 0 and 127 when sending out note-on-event - -2005-07-21 Tobias Doerffel - - * include/nstate_button.h: - * src/widgets/nstate_button.cpp: - added widget nStateButton which is a button able to have n different - states with according pixmaps and tooltips - - * resources/back_to_zero.png: - * resources/keep_stop_position.png: - * resources/back_to_start.png: - * resources/loop_points_off.png: - * resources/loop_points_on.png: - * resources/autoscroll_off.png: - * resources/autoscroll_on.png: - added pixmaps for buttons to be used in time-line as soon as possible - - * lmms-0.1.0rc1.tar.bz2: - release of Release Candidate 1 of LMMS 0.1.0 - -2005-07-20 Tobias Doerffel - - * src/midi/midi_file.cpp: - - proper handling of note-on-events which velocity 0 -> treat like - note-off-events makes it now possible to import a much larger amount - of MIDI-files - - added progress-dialog when importing MIDI-file - - * src/core/song_editor.cpp: - horizontal scrollbar is now placed some pixels above lower edge so that - it doesn't take action when resizing song-editor-window at lower edge - - * src/core/track_container.cpp: - added progress-dialog for loading project and according - qApp->processEvents()-call -> LMMS now isn't blocked anymore while - loading project - - * include/knob.h: - * src/widgets/knob.cpp: - fixed bugs caused by changes made before for scroll-wheel-support - -2005-07-19 Tobias Doerffel - - * include/knob.h: - * src/widgets/knob.cpp: - added better scroll-wheel support which increases/decreases knob-value - by 20th of range (e.g 0.05 if knob is ranged between 0 and 1) - -2005-07-17 Tobias Doerffel - - * projects/: - added "covers"-dir and added "Preludium and Fuge A-Minor" by J.S.Bach - to it as first covered project ;-) - - * src/core/note_play_handle.cpp: - - fixed bad bug in notePlayHandle::play(): instead of directly being - deleted, sub-notes were given to mixer to be removed when they played - completely but since these sub-notes are not known to mixer, it - couldn't delete them - - always call channelTrack::deleteNotePluginData() in - noteplayhandle-dtor even if pointer to note-plugin-data is NULL so - that all plugins are notified when note is done (midiOut-plugin - needs that for sending note-off-events!) - - * include/midi_out.h: - * src/soundgenerators/midi_out.cpp: - new plugin midiOut which sends all notes on this channel out to - external midi-device this is especially cool for playing arpeggio for - key pressed on external midi-device!! - - * src/soundgenerators/plucked_string_synth.cpp: - removed unneccesary inclusion of qpainter-header - - * include/midi_file.h: - * src/midi/midi_file.cpp: - * src/core/lmms_main_win.cpp: - * src/core/song_editor.cpp: - added support for importing MIDI-file (very experimental!!) - - * include/midi.h: - * include/midi_device.h: - moved general MIDI-stuff from midi_device.h to midi.h - - * src/audio/audio_file_device.cpp: - added missing arg()-call to QMessageBox::critical()-call in - audioFileDevice-ctor - -2005-07-16 Tobias Doerffel - - * src/core/config_mgr.cpp: - added shortcuts to navigation-buttons - -2005-07-14 Tobias Doerffel - - * src/core/piano_roll.cpp: - only play notes while editing if we're not in play-mode - - * include/song_editor.h: - * src/core/song_editor.cpp: - when exporting always render one additional tact at the end so that - we don't cut off notes with delay etc. - -2005-07-12 Tobias Doerffel - - - successful compilation with GCC 4.0.1 ;-) - - * src/core/arp_and_chords_tab_widget.cpp: - fixed bug responsible for playing base-notes of chords all time - if any arpeggio selected was selected - -2005-07-11 Tobias Doerffel - - * resources/source/wizard_files.xcf: - * resources/wizard_files.png: - updated project-file-icon in image - - * src/core/config_mgr.cpp: - - ask user whether to re-run setup-wizard if config-file indicates - different version of LMMS - - removed redundant assignment in configManager::loadConfigFile() - - added additional layout for having space at the left and right side - - increased font-size of title - - * Makefile.am: - install LMMS-icon into LMMS-data-dir - - * lmms-0.1.0beta.tar.bz2: - made beta-release of 0.1.0 and announced it on kde-apps.org - -2005-07-10 Tobias Doerffel - - * presets/TripleOscillator/: - added cool Church Organ preset and improved Xylophon preset - - * resources/de.ts: - updated German translations and cleaned up all obsolete translations - and context which shrinks the file by 50K... - - * samples/instruments/: - removed vibraphone01.ogg because of poor quality - - * src/core/piano_roll.cpp: - - do not set what's-this-texts as tooltips for play/stop-button - - added tooltip and what's-this-text to record-button - - display message in piano-roll how to open a pattern if none is opened - - always set window-title, even if no pattern is opened - - * src/core/mixer.cpp: - using iterators in second loop in mixer::run() leads to crashes, so - an optimized version of the old code is used now again... - - * src/core/lmms_main_win.cpp: - added tool-buttons for new project, open/save project etc. and added - popup-menu to new-button containing projects in template-directory - - * include/song_editor.h: - * src/core/song_editor.cpp: - - changed remaining method-names containing "[Ss]ong" to "[Pp]roject" - - toggle channel-button after adding channel-track - - * include/export_project_dialog.h: - * src/core/export_project_dialog.cpp: - renamed from export_song_dialog.ext to export_project_dialog.ext - -2005-07-09 Tobias Doerffel - - * all files: - now all source-code-files but some single exceptions do not have more - than 80 characters per line and also were made to conform one - programming-style - - * include/sgs: - wrote sane soundgenerator-plugin-scanner using bash-scripting which - replaces old, dirty and exaggerated c++-program and is also fully - portable - - * include/lmms_main_win.h: - * include/song_editor.h: - * src/core/lmms_main_win.cpp: - * src/core/song_editor.cpp: - renamed methods newFile, openFile etc. to createNewProject, openProject - etc. - - * resources/source/: - - renamed filenew.png, fileopen.png etc. to project_new.png etc. - - replaced song_file.png by project_file.png which has a new file-icon - with LMMS-logo inside - - replaced preset_file.png by new graphic where the star is inside - of a file-icon - - * resources/source/lmms_logo.svg: - made logo Inkscape 0.41 compatible (had problems with gradients since - logo originally had been made with Inkscape 0.39) - - * src/widgets/project_notes.cpp: - removed unnecessary name-strings for QActions - - * resources/project_notes.png: - replaced 16x16-icon with 22x22-icon to provide big enough icon for - toolbar which needs 22x22-icons - - * src/core/bb_editor.cpp: - * src/core/song_editor.cpp: - * src/tracks/bb_track.cpp: - do not crash if either there're no bb-tracks but bb-editor has tracks - or there're bb-tracks but bb-editor contains no tracks - - * src/core/mixer.cpp: - * src/core/note_play_handle.cpp: - * src/core/track_container.cpp: - * src/tracks/pattern.cpp: - rewrote loops using vectors to use iterators instead of indices etc. - which makes it all a bit smaller and faster since we do not always have - to access the current element using the []-operator - -2005-07-08 Tobias Doerffel - - * src/core/envelope_tab_widget.cpp: - * src/lib/sample_buffer.cpp: - * src/widgets/knob.cpp: - small fixes for making compilable with qt4 - - * configure.in: - * projects/: - added directories "tutorials" and "recorded_loops" - -2005-07-07 Tobias Doerffel - - * include/bb_track.h: - added FASTCALL to moveLocation(...) and changeLength(...) which fixes - crash-bug - - * src/core/song_editor.cpp: - do not confirm overwriting file if new project was just saved - - * samples/: - added a lot of new samples from wikisource and others - -2005-07-06 Tobias Doerffel - - * include/project_notes.h: - * src/core/song_editor.cpp: - * src/widgets/project_notes.cpp: - clear project-notes when clearing song (new/open file etc.) - - * src/tracks/pattern.cpp: - ask user when he tries to freeze a pattern of a muted channel whether he - wants to continue since freezing a pattern of a muted channel makes no - sense (you're rendering silence!) - - * include/piano_roll: - * src/core/piano_roll.cpp: - - added possibility to edit the volume of notes - - removed all bool-variables indicating whether an action is being - performed at the moment and introduced m_action, indicating - one of the actions defined in (also new) enum editActions - - replaced m_startTone and m_startOctave with one variable m_startKey, - which makes a lot of code unnecessary - - rewrote loops using note-vectors to use iterators instead of - indices and vector::size() - - renamed m_evolutionHeight to m_notesEditHeight - - replaced QMouseEvent::pos().[xy]()-calls with QMouseEvent::[xy]() - - pianoRoll::getKey() does now take y-position (int) as parameter - instead of QPoint since it only needs y-position - - use new setKey()/key()-member of note everywhere where it is possible - - * include/note.h: - added setKey()- and key()-member which setting/getting absolute key - of note - -2005-07-05 Tobias Doerffel - - * configure.in: - * projects/: - categorized projects in "cool_songs", "demos", "misc" and "templates" - so that we don't annoy the user with a lot projects in his/her project- - root - have to fill up "templates" with project-templates, e.g. - basic drum-kit, accoustic drum-kit etc. - - * most files: - added FASTCALL-attributes to functions taking at least one parameter - - * include/audio_file_processor.h: - * include/plucked_string_synth.h: - * include/triple_oscillator.h: - moved deleteNotePluginData()-method into according cpp-files which - makes including note_play_handle.h obsolete - - * include/audio_file_processor.h: - * include/sample_buffer.h: - * src/lib/sample_buffer.cpp: - * src/soundgenerators/audio_file_processor.cpp: - added support for saving sample-rate-conversion-state in m_pluginData - of a note which fixes bug making clicks in sound when playing a sample - simultanously at different pitches - - * configure.in: - check whether compiler knows floorf and powf and if not, define them - to floor/pow - -2005-07-04 Tobias Doerffel - - * most files: - made LMMS compiling (and working) with Qt 3.0, GCC 2.95 and other old - libs (compiled it under Knoppix 3.1) - - * include/misc.h: - changed names of abs, min, max, limit to myAbs, myMin etc. for not - conflicting with functions of STL with the same name - - * configure.in: - * src/lib/sample_buffer.cpp: - added support for versions of libsndfile < 1.0.11 since API has changed - in libsndfile 1.0.11 - -2005-07-03 Tobias Doerffel - - * resources/control_env_amount_active.png: - * resources/control_env_amount_inactive.png: - * include/envelope_and_lfo_widget.h: - * src/core/envelope_and_lfo_widget.cpp: - it's now possible to control the amount of an envelope with the - according LFO by toggling new button (otherwise the level of the LFO is - added to the level of the envelope as it always has been) - - * src/core/envelope_and_lfo_widget.cpp: - now you can toggle the amount of an envelope/LFO between 0 and 1 by - clicking on according graph - - * all files: - updated mail-address in header - - * src/audio/audio_device.cpp: - always use SURROUND_CHANNELS as channel-count for libsrc since - resampling is done on surround-buffers - fixes bug which was - responsible for producing useless noise when exporting file in - high-quality-mode - - * src/core/export_song_dialog.cpp: - made "high-quality-mode"-switch working (disabled for some reason - in 0.0.9...) - - * src/core/mixer.cpp: - when restoring audio-device, also restore quality-level - - * include/bb_editor.h: - * src/core/bb_editor.cpp: - cleaned up a lot because there was still much code from times when - the track-technology didn't exist and which isn't now used any more - - * src/audio/audio_alsa.cpp: - added support for 48 KHz soundcards - -2005-07-02 Tobias Doerffel - - * configure.in: - * src/lib/sample_buffer.cpp: - made it possible to compile LMMS without SDL_sound, reorganized - sample-decoding and added libsndfile- and libvorbis-support - - * include/midi_time.h: - added operators "=", "+=", "-=" and implemented copy-ctor - - * include/piano_roll.h: - made currentPattern() a const method and added validPattern() - - * src/tracks/pattern.cpp: - optimized addNote() function which uses m_note.push_back() for notes - beyond last note - - * src/core/piano_roll.cpp: - * src/tracks/pattern.cpp: - when pattern is destroyed it checks whether it is currently opened in - piano-roll and if so pattern lets piano-roll set its pointer to current - pattern to NULL. piano-roll does now always check whether current - pattern is not NULL. in this case it denies any actions. fixes bug which - led to crash when having piano-roll open while deleting pattern (e.g. - creating new file, opening file etc.) - -2005-07-01 Tobias Doerffel - - * all files: - replaced "location" in names of functions/variables by "position" - for more clear and unified names - - * include/piano_roll.h: - * include/timeline.h: - * src/core/piano_roll.cpp: - * src/core/timeline.cpp: - added support for autoscroll in piano-roll when playing/recording - pattern - -2005-06-30 Tobias Doerffel - - * include/channel_track.h: - * include/midi_device.h - * include/mixer.h: - * include/pattern.h: - * src/core/piano_roll.cpp: - * src/midi/midi_device.cpp: - * src/tracks/channel_track.cpp: - added support for recording notes from MIDI-device (e.g. MIDI-keyboard - or virtual channel-piano) in a pattern using the piano-roll - - * include/pattern.h - * src/core/song_editor.cpp: - fixed bug which led to crash: when pattern was played in non-looping - mode song-editor always called pattern::finishFreeze() even if there - actually was no pattern-freezing-process -> added isFreezing() which - is called by song-editor for checking whether pattern is being freezed - before calling finishFreeze() - - * src/core/lmms_main_win.cpp: - * src/lib/sample_buffer.cpp: - when showing open-file-dialog, use QFileDialog::selectedFiles()[0] - instead of QFileDialog::selectedFile() because selectedFile() returns - incorrect file-name if user clicked on the file and then on - "Open"-button instead of double-clicking file - - * src/audio/audio_oss.cpp: - * src/soundgenerators/triple_oscillator.cpp: - * src/tracks/channel_track.cpp: - added #include for solving problems with undeclared - functions getenv() and rand() on some distributions (e.g Slackware) - - * src/core/track.cpp: - * src/soundgenerators/triple_oscillator.cpp: - * src/tracks/channel_track.cpp: - added missing #include "debug.h" for solving problems with undeclared - assert() because of not included assert.h - -2005-06-29 Tobias Doerffel - - * configure.in: - * include/audio_sdl.h: - * src/lib/sample_buffer.cpp: - if SDL/SDL.h does not exist, search for it in SDL10, SDL11 etc. and - include according headers in source-files (solves problems on FreeBSD) - - * README: - updated everything a bit... - -2005-06-28 Tobias Doerffel - - * include/envelope_tab_widget.h: - * src/core/envelope_tab_widget.cpp: - use button instead of knob for turning filter on/off - -2005-06-27 Tobias Doerffel - - * samples/effects/Makefile.am: - don't install effect-samples into directory of basses-samples - diff -Nru lmms-0.4.13-stable.git.2254/build_mingw32 lmms-0.4.14~rc1/build_mingw32 --- lmms-0.4.13-stable.git.2254/build_mingw32 2012-11-12 01:37:19.000000000 +0000 +++ lmms-0.4.14~rc1/build_mingw32 2012-12-10 20:13:56.000000000 +0000 @@ -1,6 +1,7 @@ MINGW=/opt/mingw32 export PATH=$PATH:$MINGW/bin -export CFLAGS="-march=pentium3 -mtune=generic -mpreferred-stack-boundary=5 -fno-tree-vectorize" +#export CFLAGS="-march=pentium3 -mtune=generic -mpreferred-stack-boundary=5 -fno-tree-vectorize" +export CFLAGS="-march=pentium3 -mtune=generic -mpreferred-stack-boundary=5" export CXXFLAGS="$CFLAGS" cmake .. -DCMAKE_TOOLCHAIN_FILE=../cmake/modules/Win32Toolchain.cmake -DCMAKE_MODULE_PATH=`pwd`/../cmake/modules/ diff -Nru lmms-0.4.13-stable.git.2254/build_mingw64 lmms-0.4.14~rc1/build_mingw64 --- lmms-0.4.13-stable.git.2254/build_mingw64 2012-11-12 01:30:09.000000000 +0000 +++ lmms-0.4.14~rc1/build_mingw64 2012-12-10 20:13:56.000000000 +0000 @@ -1,6 +1,6 @@ MINGW=/opt/mingw64 export PATH=$PATH:$MINGW/bin -export CFLAGS="-fno-tree-vectorize" +#export CFLAGS="-fno-tree-vectorize" export CXXFLAGS="$CFLAGS" cmake .. -DCMAKE_TOOLCHAIN_FILE=../cmake/modules/Win64Toolchain.cmake -DCMAKE_MODULE_PATH=`pwd`/../cmake/modules/ diff -Nru lmms-0.4.13-stable.git.2254/debian/changelog lmms-0.4.14~rc1/debian/changelog --- lmms-0.4.13-stable.git.2254/debian/changelog 2012-11-12 04:08:14.000000000 +0000 +++ lmms-0.4.14~rc1/debian/changelog 2012-12-14 07:39:25.000000000 +0000 @@ -1,10 +1,27 @@ -lmms (0.4.13-stable.git.2254-1.1~11.10) natty; urgency=medium +lmms (0.4.14~rc1-1sound1~11.04) natty; urgency=medium + + * Release candidate for LMMS 0.4.14: + + Changes: http://sourceforge.net/projects/lmms/files/lmms/0.4.14-rc1/ + * debian/copyright: Update year (this file needs more update tho). + * debian/docs: Add AUTHORS. + * debian/lmms-common.install: Add a bigger (128x128) desktop icon. + * debian/lmms.install: Sort, simplify. + * debian/lmms-vst.install: Sort, simplify. + * debian/menu: Use the new lmms.png. + * debian/rules: + - debian/lmms.xpm: Disable lmms.xpm creation (see above). + - install: Disable lmms.xpm install again. + * debian/source/include-binaries: New file, add lmms.png. + + -- DNS777 Fri, 14 Dec 2012 03:00:00 +0000 + +lmms (0.4.13-stable.git.2254-1.1) stable; urgency=medium * Fix icon install. -- DNS777 Mon, 12 Nov 2012 03:00:00 +0000 -lmms (0.4.13-stable.git.2254-1~10.04) lucid; urgency=medium +lmms (0.4.13-stable.git.2254-1) stable; urgency=medium * Add update_desktop_file.patch: + Add dutch and russian translation. diff -Nru lmms-0.4.13-stable.git.2254/debian/control lmms-0.4.14~rc1/debian/control --- lmms-0.4.13-stable.git.2254/debian/control 2012-11-12 04:08:42.000000000 +0000 +++ lmms-0.4.14~rc1/debian/control 2012-12-14 07:37:37.000000000 +0000 @@ -3,7 +3,7 @@ Priority: optional Maintainer: DNS777 XSBC-Original-Maintainer: Patrick Winnertz -Build-Depends: debhelper (>= 6), cmake (>=2.6.0), libsdl1.2-dev, libsamplerate0-dev, libsndfile1-dev, libvorbis-dev, libogg-dev, libqt4-dev, qt4-dev-tools, libjack-dev, libstk0-dev, ladspa-sdk, wine1.3-dev [i386 amd64], libzip-dev, libasound2-dev, imagemagick, fluidsynth, libfluidsynth1, libfluidsynth-dev, portaudio19-dev, libpulse-dev, libfftw3-dev, gcc-multilib [amd64], g++-multilib [amd64], libxft-dev, libxinerama-dev, librdf0-dev | redland-devel, lv2-dev | libslv2-dev | slv2-devel, libflac++-dev +Build-Depends: debhelper (>= 6), cmake (>=2.6.0), libsdl1.2-dev, libsamplerate0-dev, libsndfile1-dev, libvorbis-dev, libogg-dev, libqt4-dev, qt4-dev-tools, libjack-dev, libstk0-dev, ladspa-sdk, wine1.4-dev [i386] | wine1.3-dev | wine1.2-dev, libzip-dev, libasound2-dev, imagemagick, fluidsynth, libfluidsynth1, libfluidsynth-dev, portaudio19-dev, libpulse-dev, libfftw3-dev, gcc-multilib [amd64], g++-multilib [amd64], libxft-dev, libxinerama-dev, librdf0-dev | redland-devel, lv2-dev | libslv2-dev | slv2-devel, libflac++-dev Standards-Version: 3.9.3 Homepage: http://lmms.sourceforge.net/ diff -Nru lmms-0.4.13-stable.git.2254/debian/copyright lmms-0.4.14~rc1/debian/copyright --- lmms-0.4.13-stable.git.2254/debian/copyright 2011-07-10 02:12:10.000000000 +0000 +++ lmms-0.4.14~rc1/debian/copyright 2012-12-14 05:08:06.000000000 +0000 @@ -5,8 +5,8 @@ Copyright Holder: - Copyright (c) 2004-2008 Tobias Doerffel - Copyright (c) 2006-2008 Paul Giblock + Copyright (c) 2004-2012 Tobias Doerffel + Copyright (c) 2006-2012 Paul Giblock Copyright (c) 2006-2007 Javier Serrano Polo Copyright (c) 2008 Andrew Kelley Copyright (c) 2005-2007 Danny McRae @@ -73,4 +73,4 @@ Debian packaging (licensed under the GPLv2): Copyright(C) 2004-2011 Tobias Doerffel - Copyright(C) 2011 RBOSE + Copyright(C) 2011-2012 RBOSE diff -Nru lmms-0.4.13-stable.git.2254/debian/docs lmms-0.4.14~rc1/debian/docs --- lmms-0.4.13-stable.git.2254/debian/docs 2011-05-03 23:29:16.000000000 +0000 +++ lmms-0.4.14~rc1/debian/docs 2012-12-14 05:11:09.000000000 +0000 @@ -1,2 +1,3 @@ +AUTHORS README TODO diff -Nru lmms-0.4.13-stable.git.2254/debian/lmms-common.install lmms-0.4.14~rc1/debian/lmms-common.install --- lmms-0.4.13-stable.git.2254/debian/lmms-common.install 2011-05-03 23:29:16.000000000 +0000 +++ lmms-0.4.14~rc1/debian/lmms-common.install 2012-12-14 06:22:30.000000000 +0000 @@ -1,3 +1,4 @@ +../lmms.png usr/share/pixmaps/ usr/share/applications/* usr/share/lmms/* usr/share/mime/* diff -Nru lmms-0.4.13-stable.git.2254/debian/lmms-vst.install lmms-0.4.14~rc1/debian/lmms-vst.install --- lmms-0.4.13-stable.git.2254/debian/lmms-vst.install 2011-05-03 23:29:17.000000000 +0000 +++ lmms-0.4.14~rc1/debian/lmms-vst.install 2012-12-14 04:59:10.000000000 +0000 @@ -1,5 +1,4 @@ -usr/li*/lmms/RemoteVstPlugin usr/li*/lmms/libvestige.so -usr/li*/lmms/libvstbase.so -usr/li*/lmms/libvsteffect.so +usr/li*/lmms/libvst*.so +usr/li*/lmms/RemoteVstPlugin usr/li*/lmms/RemoteVstPlugin.exe.so diff -Nru lmms-0.4.13-stable.git.2254/debian/lmms-vst_distro_settings.sh lmms-0.4.14~rc1/debian/lmms-vst_distro_settings.sh --- lmms-0.4.13-stable.git.2254/debian/lmms-vst_distro_settings.sh 1970-01-01 00:00:00.000000000 +0000 +++ lmms-0.4.14~rc1/debian/lmms-vst_distro_settings.sh 2012-12-14 07:03:46.000000000 +0000 @@ -0,0 +1,12 @@ +#!/bin/bash +# Copyright (C) 2012 DNS +# Copying and distribution of this file, with or without modification, +# are permitted in any medium without royality provided the copyright +# notice and this notice are preserved. This file is offered as-is, +# without any warranty. +# +DISTRO="head -1 debian/changelog | sed 's/.*) //;s/; urgency.*//'" + +if [ $DISTRO == ("precise"||"quantal"||"raring") ]; then \ + sed -i "s/Architecture: i386 amd64/Architecture: i386/g" debian/control +fi diff -Nru lmms-0.4.13-stable.git.2254/debian/lmms.install lmms-0.4.14~rc1/debian/lmms.install --- lmms-0.4.13-stable.git.2254/debian/lmms.install 2011-06-16 01:37:16.000000000 +0000 +++ lmms-0.4.14~rc1/debian/lmms.install 2012-12-14 04:57:52.000000000 +0000 @@ -1,27 +1,17 @@ usr/bin/lmms -usr/li*/lmms/libflpimport.so -usr/li*/lmms/libsf2player.so -usr/li*/lmms/libbitinvader.so -usr/li*/lmms/libstereomatrix.so -usr/li*/lmms/libmidiimport.so -usr/li*/lmms/libmalletsstk.so -usr/li*/lmms/liblb302.so +usr/li*/lmms/ladspa/ +usr/li*/lmms/liba*.so +usr/li*/lmms/libb*.so +usr/li*/lmms/libf*.so +usr/li*/lmms/libk*.so +usr/li*/lmms/libl*.so +usr/li*/lmms/libm*.so +usr/li*/lmms/libo*.so +usr/li*/lmms/libp*.so +usr/li*/lmms/libs*.so +usr/li*/lmms/libt*.so usr/li*/lmms/libvibedstrings.so -usr/li*/lmms/liborganic.so -usr/li*/lmms/libspectrumanalyzer.so -usr/li*/lmms/libkicker.so -usr/li*/lmms/libpatman.so -usr/li*/lmms/libstereoenhancer.so -usr/li*/lmms/libladspaeffect.so -usr/li*/lmms/libladspabrowser.so -usr/li*/lmms/libpapu.so -usr/li*/lmms/libaudiofileprocessor.so -usr/li*/lmms/libbassbooster.so -usr/li*/lmms/libtripleoscillator.so -usr/li*/lmms/libsid.so -usr/li*/lmms/libpeakcontrollereffect.so -usr/li*/lmms/RemoteZynAddSubFx usr/li*/lmms/libZynAddSubFxCore.so usr/li*/lmms/libzynaddsubfx.so -usr/li*/lmms/ladspa/ +usr/li*/lmms/RemoteZynAddSubFx usr/share/man/ Binary files /tmp/UHf6VeVrLX/lmms-0.4.13-stable.git.2254/debian/lmms.png and /tmp/SnPXf2xWpI/lmms-0.4.14~rc1/debian/lmms.png differ diff -Nru lmms-0.4.13-stable.git.2254/debian/menu lmms-0.4.14~rc1/debian/menu --- lmms-0.4.13-stable.git.2254/debian/menu 2012-11-12 01:39:48.000000000 +0000 +++ lmms-0.4.14~rc1/debian/menu 2012-12-14 03:59:19.000000000 +0000 @@ -1,4 +1,4 @@ ?package(lmms):needs="X11" section="Applications/Sound" \ title="LMMS" hints="Audio" command="/usr/bin/lmms" \ longtitle="Linux MultiMedia Studio" \ - icon="/usr/share/pixmaps/lmms.xpm" + icon="/usr/share/pixmaps/lmms.png" diff -Nru lmms-0.4.13-stable.git.2254/debian/rules lmms-0.4.14~rc1/debian/rules --- lmms-0.4.13-stable.git.2254/debian/rules 2012-11-12 04:06:57.000000000 +0000 +++ lmms-0.4.14~rc1/debian/rules 2012-12-14 07:37:48.000000000 +0000 @@ -14,8 +14,8 @@ CFLAGS += -O2 endif -debian/lmms.xpm: data/themes/default/icon.png - convert -resize 64 $< $@ +#debian/lmms.xpm: data/themes/default/icon.png +# convert -resize 64 $< $@ config.status: configure dh_testdir @@ -34,16 +34,17 @@ dh_testroot rm -f build-stamp rm -rf cmakebuild - dh_clean + dh_clean -install: build debian/lmms.xpm +#install: build debian/lmms.xpm +install: build dh_testdir dh_testroot dh_clean -k dh_installdirs cd cmakebuild && $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp rm -f $(CURDIR)/debian/tmp/usr/share/menu/lmms - install -D -m 644 debian/lmms.xpm debian/lmms-common/usr/share/pixmaps/lmms.xpm + #install -D -m 644 debian/lmms.xpm debian/lmms-common/usr/share/pixmaps/lmms.xpm install -D -m 644 debian/menu debian/lmms-common/usr/share/menu/lmms dh_install -plmms --sourcedir=$(CURDIR)/debian/tmp dh_install -plmms-common --sourcedir=$(CURDIR)/debian/tmp diff -Nru lmms-0.4.13-stable.git.2254/debian/source/include-binaries lmms-0.4.14~rc1/debian/source/include-binaries --- lmms-0.4.13-stable.git.2254/debian/source/include-binaries 1970-01-01 00:00:00.000000000 +0000 +++ lmms-0.4.14~rc1/debian/source/include-binaries 2012-12-14 04:28:47.000000000 +0000 @@ -0,0 +1 @@ +debian/lmms.png diff -Nru lmms-0.4.13-stable.git.2254/include/RemotePlugin.h lmms-0.4.14~rc1/include/RemotePlugin.h --- lmms-0.4.13-stable.git.2254/include/RemotePlugin.h 2012-11-12 01:37:19.000000000 +0000 +++ lmms-0.4.14~rc1/include/RemotePlugin.h 2012-12-10 20:13:56.000000000 +0000 @@ -1,7 +1,7 @@ /* * RemotePlugin.h - base class providing RPC like mechanisms * - * Copyright (c) 2008-2010 Tobias Doerffel + * Copyright (c) 2008-2012 Tobias Doerffel * * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net * @@ -115,7 +115,7 @@ // sometimes we need to exchange bigger messages (e.g. for VST parameter dumps) // so set a usable value here -const int SHM_FIFO_SIZE = 64000; +const int SHM_FIFO_SIZE = 512*1024; // implements a FIFO inside a shared memory segment @@ -284,7 +284,7 @@ // recursive lock inline void lock() { - if( !isInvalid() && ++m_lockDepth == 1 ) + if( !isInvalid() && __sync_add_and_fetch( &m_lockDepth, 1 ) == 1 ) { #ifdef USE_QT_SEMAPHORES m_dataSem.acquire(); @@ -297,16 +297,13 @@ // recursive unlock inline void unlock() { - if( m_lockDepth > 0 ) + if( __sync_sub_and_fetch( &m_lockDepth, 1) <= 0 ) { - if( --m_lockDepth == 0 ) - { #ifdef USE_QT_SEMAPHORES - m_dataSem.release(); + m_dataSem.release(); #else - sem_post( m_dataSem ); + sem_post( m_dataSem ); #endif - } } } @@ -418,7 +415,8 @@ return; } lock(); - while( _len > m_data->endPtr - m_data->startPtr ) + while( isInvalid() == false && + _len > m_data->endPtr - m_data->startPtr ) { unlock(); #ifndef LMMS_BUILD_WIN32 @@ -439,7 +437,7 @@ void write( const void * _buf, int _len ) { - if( isInvalid() ) + if( isInvalid() || _len > SHM_FIFO_SIZE ) { return; } @@ -484,7 +482,7 @@ sem_t * m_dataSem; sem_t * m_messageSem; #endif - int m_lockDepth; + volatile int m_lockDepth; } ; @@ -509,12 +507,8 @@ IdSaveSettingsToFile, IdLoadSettingsFromString, IdLoadSettingsFromFile, - IdLoadChunkFromPresetFile, - IdRotateProgram, - IdLoadPrograms, - IdSavePreset, - IdSetParameter, - IdLoadPresetFromFile, + IdSavePresetFile, + IdLoadPresetFile, IdDebugMessage, IdUserBase = 64 } ; @@ -552,8 +546,7 @@ message & addInt( int _i ) { - char buf[128]; - buf[0] = 0; + char buf[32]; sprintf( buf, "%d", _i ); data.push_back( std::string( buf ) ); return *this; @@ -561,8 +554,7 @@ message & addFloat( float _f ) { - char buf[128]; - buf[0] = 0; + char buf[32]; sprintf( buf, "%f", _f ); data.push_back( std::string( buf ) ); return *this; @@ -615,7 +607,7 @@ m_out = out; } - void sendMessage( const message & _m ); + int sendMessage( const message & _m ); message receiveMessage(); inline bool isInvalid() const @@ -934,19 +926,21 @@ -void RemotePluginBase::sendMessage( const message & _m ) +int RemotePluginBase::sendMessage( const message & _m ) { m_out->lock(); m_out->writeInt( _m.id ); m_out->writeInt( _m.data.size() ); - int j = 0; + int j = 8; for( unsigned int i = 0; i < _m.data.size(); ++i ) { m_out->writeString( _m.data[i] ); - j += _m.data[i].size(); + j += 4 + _m.data[i].size(); } m_out->unlock(); m_out->messageSent(); + + return j; } @@ -1107,13 +1101,15 @@ { #ifdef USE_QT_SHMEM m_shmObj.setKey( QString::number( _key ) ); - if( m_shmObj.attach() ) + if( m_shmObj.attach() || m_shmObj.error() == QSharedMemory::NoError ) { m_shm = (float *) m_shmObj.data(); } else { - debugMessage( "failed getting shared memory\n" ); + char buf[64]; + sprintf( buf, "failed getting shared memory: %d\n", m_shmObj.error() ); + debugMessage( buf ); } #else if( m_shm != NULL ) diff -Nru lmms-0.4.13-stable.git.2254/include/export_project_dialog.h lmms-0.4.14~rc1/include/export_project_dialog.h --- lmms-0.4.13-stable.git.2254/include/export_project_dialog.h 2012-11-12 01:37:19.000000000 +0000 +++ lmms-0.4.14~rc1/include/export_project_dialog.h 2012-12-10 20:13:56.000000000 +0000 @@ -2,7 +2,7 @@ * export_project_dialog.h - declaration of class exportProjectDialog which is * responsible for exporting project * - * Copyright (c) 2004-2008 Tobias Doerffel + * Copyright (c) 2004-2012 Tobias Doerffel * * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net * @@ -51,10 +51,10 @@ void startBtnClicked( void ); void updateTitleBar( int ); void render(ProjectRenderer* renderer); - void multi_render(); - ProjectRenderer* prep_render(); - void pop_render(); - void accept(); + void multiRender(); + ProjectRenderer* prepRender(); + void popRender(); + void accept(); private: QString m_fileName; diff -Nru lmms-0.4.13-stable.git.2254/include/fader.h lmms-0.4.14~rc1/include/fader.h --- lmms-0.4.13-stable.git.2254/include/fader.h 2012-11-12 01:30:10.000000000 +0000 +++ lmms-0.4.14~rc1/include/fader.h 2012-12-10 20:13:56.000000000 +0000 @@ -1,7 +1,7 @@ /* * fader.h - fader-widget used in FX-mixer - partly taken from Hydrogen * - * Copyright (c) 2008-2011 Tobias Doerffel + * Copyright (c) 2008-2012 Tobias Doerffel * * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net * @@ -74,23 +74,25 @@ private: virtual void contextMenuEvent( QContextMenuEvent * _me ); virtual void mousePressEvent( QMouseEvent *ev ); + virtual void mouseDoubleClickEvent( QMouseEvent* mouseEvent ); virtual void mouseMoveEvent( QMouseEvent *ev ); virtual void mouseReleaseEvent( QMouseEvent * _me ); virtual void wheelEvent( QWheelEvent *ev ); virtual void paintEvent( QPaintEvent *ev ); - inline uint knob_y() const + int knobPosY() const { float fRange = m_model->maxValue() - m_model->minValue(); float realVal = m_model->value() - m_model->minValue(); -// uint knob_y = (uint)( 116.0 - ( 86.0 * ( m_model->value() / fRange ) ) ); - return (uint)( 116.0 - ( 86.0 * ( realVal / fRange ) ) ); + + return height() - ( ( height() - m_knob.height() ) * ( realVal / fRange ) ); } FloatModel * m_model; void setPeak( float fPeak, float &targetPeak, float &persistentPeak, QTime &lastPeakTime ); int calculateDisplayPeak( float fPeak ); + float m_fPeakValue_L; float m_fPeakValue_R; float m_persistentPeak_L; @@ -105,6 +107,9 @@ QPixmap m_leds; QPixmap m_knob; + int m_moveStartPoint; + float m_startValue; + static textFloat * s_textFloat; void updateTextFloat(); diff -Nru lmms-0.4.13-stable.git.2254/include/song.h lmms-0.4.14~rc1/include/song.h --- lmms-0.4.13-stable.git.2254/include/song.h 2012-11-12 01:37:19.000000000 +0000 +++ lmms-0.4.14~rc1/include/song.h 2012-12-10 20:13:56.000000000 +0000 @@ -1,7 +1,7 @@ /* * song.h - class song - the root of the model-tree * - * Copyright (c) 2004-2011 Tobias Doerffel + * Copyright (c) 2004-2012 Tobias Doerffel * * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net * @@ -111,6 +111,11 @@ return m_exporting; } + inline void setExportLoop( bool exportLoop ) + { + m_exportLoop = exportLoop; + } + inline bool isRecording() const { return m_recording; @@ -120,8 +125,16 @@ inline bool isExportDone() const { - return m_exporting == true && - m_playPos[Mode_PlaySong].getTact() >= length() + 1; + if ( m_exportLoop ) + { + return m_exporting == true && + m_playPos[Mode_PlaySong].getTact() >= length(); + } + else + { + return m_exporting == true && + m_playPos[Mode_PlaySong].getTact() >= length() + 1; + } } inline PlayModes playMode() const @@ -283,6 +296,7 @@ volatile bool m_recording; volatile bool m_exporting; + volatile bool m_exportLoop; volatile bool m_playing; volatile bool m_paused; diff -Nru lmms-0.4.13-stable.git.2254/plugins/flp_import/unrtf/attr.c lmms-0.4.14~rc1/plugins/flp_import/unrtf/attr.c --- lmms-0.4.13-stable.git.2254/plugins/flp_import/unrtf/attr.c 2012-11-12 01:30:10.000000000 +0000 +++ lmms-0.4.14~rc1/plugins/flp_import/unrtf/attr.c 2012-12-10 20:13:56.000000000 +0000 @@ -53,7 +53,7 @@ #include #endif -#include "malloc.h" +#include "ur_malloc.h" #include "defs.h" #include "error.h" #include "attr.h" diff -Nru lmms-0.4.13-stable.git.2254/plugins/flp_import/unrtf/convert.c lmms-0.4.14~rc1/plugins/flp_import/unrtf/convert.c --- lmms-0.4.13-stable.git.2254/plugins/flp_import/unrtf/convert.c 2012-11-12 01:30:10.000000000 +0000 +++ lmms-0.4.14~rc1/plugins/flp_import/unrtf/convert.c 2012-12-10 20:13:56.000000000 +0000 @@ -90,7 +90,7 @@ #include "defs.h" #include "parse.h" #include "util.h" -#include "malloc.h" +#include "ur_malloc.h" #include "main.h" #include "error.h" #include "word.h" diff -Nru lmms-0.4.13-stable.git.2254/plugins/flp_import/unrtf/hash.c lmms-0.4.14~rc1/plugins/flp_import/unrtf/hash.c --- lmms-0.4.13-stable.git.2254/plugins/flp_import/unrtf/hash.c 2012-11-12 01:30:10.000000000 +0000 +++ lmms-0.4.14~rc1/plugins/flp_import/unrtf/hash.c 2012-12-10 20:13:56.000000000 +0000 @@ -55,7 +55,7 @@ #include "error.h" #include "main.h" -#include "malloc.h" +#include "ur_malloc.h" typedef struct _hi { diff -Nru lmms-0.4.13-stable.git.2254/plugins/flp_import/unrtf/html.c lmms-0.4.14~rc1/plugins/flp_import/unrtf/html.c --- lmms-0.4.13-stable.git.2254/plugins/flp_import/unrtf/html.c 2012-11-12 01:30:10.000000000 +0000 +++ lmms-0.4.14~rc1/plugins/flp_import/unrtf/html.c 2012-12-10 20:13:56.000000000 +0000 @@ -55,7 +55,7 @@ #include #endif -#include "malloc.h" +#include "ur_malloc.h" #include "defs.h" #include "error.h" #include "main.h" diff -Nru lmms-0.4.13-stable.git.2254/plugins/flp_import/unrtf/malloc.c lmms-0.4.14~rc1/plugins/flp_import/unrtf/malloc.c --- lmms-0.4.13-stable.git.2254/plugins/flp_import/unrtf/malloc.c 2012-11-12 01:30:10.000000000 +0000 +++ lmms-0.4.14~rc1/plugins/flp_import/unrtf/malloc.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,133 +0,0 @@ -/*============================================================================= - GNU UnRTF, a command-line program to convert RTF documents to other formats. - Copyright (C) 2000,2001,2004 by Zachary Smith - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - - The maintainer is reachable by electronic mail at daved@physiol.usyd.edu.au -=============================================================================*/ - - -/*---------------------------------------------------------------------- - * Module name: malloc - * Author name: Zachary Smith - * Create date: 01 Aug 01 - * Purpose: Memory management. Allows us to keep track of how - * much memory is being used. - *---------------------------------------------------------------------- - * Changes: - * 14 Aug 01, tuorfa@yahoo.com: added Turbo C support. - * 16 Aug 01, Lars Unger : added Amiga/GCC support. - * 22 Sep 01, tuorfa@yahoo.com: added function-level comment blocks - * 28 Sep 01, tuorfa@yahoo.com: removed Turbo C support. - * 08 Oct 03, daved@physiol.usyd.edu.au: added stdlib.h for linux - * 29 Mar 05, daved@physiol.usyd.edu.au: changes requested by ZT Smith - * 31 Oct 07, jasp00@users.sourceforge.net: replaced deprecated conversions - * 16 Dec 07, daved@physiol.usyd.edu.au: updated to GPL v3 - *--------------------------------------------------------------------*/ - -#ifdef LMMS_HAVE_CONFIG_H -#include -#endif - -#ifdef LMMS_HAVE_STDIO_H -#include -#endif - -#ifdef LMMS_HAVE_STDLIB_H -#include -#endif - -#ifdef LMMS_HAVE_STRING_H -#include -#endif - -#include "error.h" -#include "malloc.h" - -static unsigned long count=0; - -/*======================================================================== - * Name: my_malloc - * Purpose: Internal version of malloc necessary for record keeping. - * Args: Amount. - * Returns: Pointer. - *=======================================================================*/ - -char * -my_malloc (unsigned long size) { - char *ptr; - - ptr = (char *) malloc (size); - if (ptr) - count += size; - - return ptr; -} - -/*======================================================================== - * Name: my_free - * Purpose: Internal version of free necessary for record keeping. - * Args: Pointer. - * Returns: None. - *=======================================================================*/ - -void -my_free (char* ptr) { - CHECK_PARAM_NOT_NULL(ptr); - - free (ptr); -} - - - -/*======================================================================== - * Name: total_malloced - * Purpose: Returns total amount of memory thus far allocated. Called at - * the end of main() when in debug mode. - * Args: None. - * Returns: Amount. - *=======================================================================*/ - -unsigned long -total_malloced (void) { - return count; -} - - - -/*======================================================================== - * Name: my_strdup - * Purpose: Internal version of strdup necessary for record keeping. - * Args: String. - * Returns: String. - *=======================================================================*/ - -char * -my_strdup (const char *src) { - unsigned long len; - char *ptr; - - CHECK_PARAM_NOT_NULL(src); - - len = strlen(src); - ptr = my_malloc (len+1); - if (!ptr) - error_handler ("out of memory in strdup()"); - - strcpy (ptr, src); - return ptr; -} - diff -Nru lmms-0.4.13-stable.git.2254/plugins/flp_import/unrtf/malloc.h lmms-0.4.14~rc1/plugins/flp_import/unrtf/malloc.h --- lmms-0.4.13-stable.git.2254/plugins/flp_import/unrtf/malloc.h 2012-11-12 01:30:10.000000000 +0000 +++ lmms-0.4.14~rc1/plugins/flp_import/unrtf/malloc.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,39 +0,0 @@ -/*============================================================================= - GNU UnRTF, a command-line program to convert RTF documents to other formats. - Copyright (C) 2000,2001,2004 by Zachary Smith - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - - The maintainer is reachable by electronic mail at daved@physiol.usyd.edu.au -=============================================================================*/ - - -/*---------------------------------------------------------------------- - * Module name: malloc - * Author name: Zachary Smith - * Create date: 1 Aug 2001 - * Purpose: Definitions for memory management. - *---------------------------------------------------------------------- - * Changes: - * 29 Mar 05, daved@physiol.usyd.edu.au: changes requested by ZT Smith - * 31 Oct 07, jasp00@users.sourceforge.net: replaced deprecated conversions - * 16 Dec 07, daved@physiol.usyd.edu.au: updated to GPL v3 - *--------------------------------------------------------------------*/ - -extern char * my_malloc (unsigned long); -extern void my_free (char*); -extern unsigned long total_malloced (void); -extern char * my_strdup (const char*); - diff -Nru lmms-0.4.13-stable.git.2254/plugins/flp_import/unrtf/output.c lmms-0.4.14~rc1/plugins/flp_import/unrtf/output.c --- lmms-0.4.13-stable.git.2254/plugins/flp_import/unrtf/output.c 2012-11-12 01:30:10.000000000 +0000 +++ lmms-0.4.14~rc1/plugins/flp_import/unrtf/output.c 2012-12-10 20:13:56.000000000 +0000 @@ -56,7 +56,7 @@ #include #endif -#include "malloc.h" +#include "ur_malloc.h" #include "defs.h" #include "error.h" #include "output.h" diff -Nru lmms-0.4.13-stable.git.2254/plugins/flp_import/unrtf/parse.c lmms-0.4.14~rc1/plugins/flp_import/unrtf/parse.c --- lmms-0.4.13-stable.git.2254/plugins/flp_import/unrtf/parse.c 2012-11-12 01:30:10.000000000 +0000 +++ lmms-0.4.14~rc1/plugins/flp_import/unrtf/parse.c 2012-12-10 20:13:56.000000000 +0000 @@ -61,7 +61,7 @@ #include "defs.h" #include "parse.h" -#include "malloc.h" +#include "ur_malloc.h" #include "main.h" #include "error.h" #include "word.h" diff -Nru lmms-0.4.13-stable.git.2254/plugins/flp_import/unrtf/ur_malloc.c lmms-0.4.14~rc1/plugins/flp_import/unrtf/ur_malloc.c --- lmms-0.4.13-stable.git.2254/plugins/flp_import/unrtf/ur_malloc.c 1970-01-01 00:00:00.000000000 +0000 +++ lmms-0.4.14~rc1/plugins/flp_import/unrtf/ur_malloc.c 2012-12-10 20:13:56.000000000 +0000 @@ -0,0 +1,133 @@ +/*============================================================================= + GNU UnRTF, a command-line program to convert RTF documents to other formats. + Copyright (C) 2000,2001,2004 by Zachary Smith + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + + The maintainer is reachable by electronic mail at daved@physiol.usyd.edu.au +=============================================================================*/ + + +/*---------------------------------------------------------------------- + * Module name: malloc + * Author name: Zachary Smith + * Create date: 01 Aug 01 + * Purpose: Memory management. Allows us to keep track of how + * much memory is being used. + *---------------------------------------------------------------------- + * Changes: + * 14 Aug 01, tuorfa@yahoo.com: added Turbo C support. + * 16 Aug 01, Lars Unger : added Amiga/GCC support. + * 22 Sep 01, tuorfa@yahoo.com: added function-level comment blocks + * 28 Sep 01, tuorfa@yahoo.com: removed Turbo C support. + * 08 Oct 03, daved@physiol.usyd.edu.au: added stdlib.h for linux + * 29 Mar 05, daved@physiol.usyd.edu.au: changes requested by ZT Smith + * 31 Oct 07, jasp00@users.sourceforge.net: replaced deprecated conversions + * 16 Dec 07, daved@physiol.usyd.edu.au: updated to GPL v3 + *--------------------------------------------------------------------*/ + +#ifdef LMMS_HAVE_CONFIG_H +#include +#endif + +#ifdef LMMS_HAVE_STDIO_H +#include +#endif + +#ifdef LMMS_HAVE_STDLIB_H +#include +#endif + +#ifdef LMMS_HAVE_STRING_H +#include +#endif + +#include "error.h" +#include "ur_malloc.h" + +static unsigned long count=0; + +/*======================================================================== + * Name: my_malloc + * Purpose: Internal version of malloc necessary for record keeping. + * Args: Amount. + * Returns: Pointer. + *=======================================================================*/ + +char * +my_malloc (unsigned long size) { + char *ptr; + + ptr = (char *) malloc (size); + if (ptr) + count += size; + + return ptr; +} + +/*======================================================================== + * Name: my_free + * Purpose: Internal version of free necessary for record keeping. + * Args: Pointer. + * Returns: None. + *=======================================================================*/ + +void +my_free (char* ptr) { + CHECK_PARAM_NOT_NULL(ptr); + + free (ptr); +} + + + +/*======================================================================== + * Name: total_malloced + * Purpose: Returns total amount of memory thus far allocated. Called at + * the end of main() when in debug mode. + * Args: None. + * Returns: Amount. + *=======================================================================*/ + +unsigned long +total_malloced (void) { + return count; +} + + + +/*======================================================================== + * Name: my_strdup + * Purpose: Internal version of strdup necessary for record keeping. + * Args: String. + * Returns: String. + *=======================================================================*/ + +char * +my_strdup (const char *src) { + unsigned long len; + char *ptr; + + CHECK_PARAM_NOT_NULL(src); + + len = strlen(src); + ptr = my_malloc (len+1); + if (!ptr) + error_handler ("out of memory in strdup()"); + + strcpy (ptr, src); + return ptr; +} + diff -Nru lmms-0.4.13-stable.git.2254/plugins/flp_import/unrtf/ur_malloc.h lmms-0.4.14~rc1/plugins/flp_import/unrtf/ur_malloc.h --- lmms-0.4.13-stable.git.2254/plugins/flp_import/unrtf/ur_malloc.h 1970-01-01 00:00:00.000000000 +0000 +++ lmms-0.4.14~rc1/plugins/flp_import/unrtf/ur_malloc.h 2012-12-10 20:13:56.000000000 +0000 @@ -0,0 +1,39 @@ +/*============================================================================= + GNU UnRTF, a command-line program to convert RTF documents to other formats. + Copyright (C) 2000,2001,2004 by Zachary Smith + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + + The maintainer is reachable by electronic mail at daved@physiol.usyd.edu.au +=============================================================================*/ + + +/*---------------------------------------------------------------------- + * Module name: malloc + * Author name: Zachary Smith + * Create date: 1 Aug 2001 + * Purpose: Definitions for memory management. + *---------------------------------------------------------------------- + * Changes: + * 29 Mar 05, daved@physiol.usyd.edu.au: changes requested by ZT Smith + * 31 Oct 07, jasp00@users.sourceforge.net: replaced deprecated conversions + * 16 Dec 07, daved@physiol.usyd.edu.au: updated to GPL v3 + *--------------------------------------------------------------------*/ + +extern char * my_malloc (unsigned long); +extern void my_free (char*); +extern unsigned long total_malloced (void); +extern char * my_strdup (const char*); + diff -Nru lmms-0.4.13-stable.git.2254/plugins/flp_import/unrtf/word.c lmms-0.4.14~rc1/plugins/flp_import/unrtf/word.c --- lmms-0.4.13-stable.git.2254/plugins/flp_import/unrtf/word.c 2012-11-12 01:30:10.000000000 +0000 +++ lmms-0.4.14~rc1/plugins/flp_import/unrtf/word.c 2012-12-10 20:13:56.000000000 +0000 @@ -71,7 +71,7 @@ #include "defs.h" #include "parse.h" -#include "malloc.h" +#include "ur_malloc.h" #include "main.h" #include "error.h" #include "word.h" diff -Nru lmms-0.4.13-stable.git.2254/plugins/flp_import/unrtf.cpp lmms-0.4.14~rc1/plugins/flp_import/unrtf.cpp --- lmms-0.4.13-stable.git.2254/plugins/flp_import/unrtf.cpp 2012-11-12 01:30:10.000000000 +0000 +++ lmms-0.4.14~rc1/plugins/flp_import/unrtf.cpp 2012-12-10 20:13:56.000000000 +0000 @@ -62,7 +62,7 @@ #include "error.c" #include "hash.c" #include "html.c" -#include "malloc.c" +#include "ur_malloc.c" #include "output.c" #include "parse.c" #include "util.c" diff -Nru lmms-0.4.13-stable.git.2254/plugins/vestige/vestige.cpp lmms-0.4.14~rc1/plugins/vestige/vestige.cpp --- lmms-0.4.13-stable.git.2254/plugins/vestige/vestige.cpp 2012-11-12 01:37:19.000000000 +0000 +++ lmms-0.4.14~rc1/plugins/vestige/vestige.cpp 2012-12-10 20:13:56.000000000 +0000 @@ -1,7 +1,7 @@ /* * vestige.cpp - instrument-plugin for hosting VST-instruments * - * Copyright (c) 2005-2011 Tobias Doerffel + * Copyright (c) 2005-2012 Tobias Doerffel * * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net * @@ -398,7 +398,7 @@ m_rolLPresetButton->setInactiveGraphic( PLUGIN_NAME::getIconPixmap( "stepper-left" ) ); connect( m_rolLPresetButton, SIGNAL( clicked() ), this, - SLOT( rolrPreset() ) ); + SLOT( previousProgram() ) ); toolTip::add( m_rolLPresetButton, tr( "Previous (-)" ) ); m_rolLPresetButton->setShortcut( Qt::Key_Minus ); @@ -432,7 +432,7 @@ m_rolRPresetButton->setInactiveGraphic( PLUGIN_NAME::getIconPixmap( "stepper-right" ) ); connect( m_rolRPresetButton, SIGNAL( clicked() ), this, - SLOT( rollPreset() ) ); + SLOT( nextProgram() ) ); toolTip::add( m_rolRPresetButton, tr( "Next (+)" ) ); m_rolRPresetButton->setShortcut( Qt::Key_Plus ); @@ -501,11 +501,12 @@ { // get all presets - - if ( m_vi->m_plugin != NULL ) { - m_vi->m_plugin->loadPrograms( 1 ); + if ( m_vi->m_plugin != NULL ) + { + m_vi->m_plugin->loadProgramNames(); QWidget::update(); - QString str = m_vi->m_plugin->presetsString(); + QString str = m_vi->m_plugin->allProgramNames(); QStringList list1 = str.split("|"); @@ -600,13 +601,13 @@ -void VestigeInstrumentView::openPreset( void ) +void VestigeInstrumentView::openPreset() { if ( m_vi->m_plugin != NULL ) { m_vi->m_plugin->openPreset( ); bool converted; - QString str = m_vi->m_plugin->presetString().section("/", 0, 0); + QString str = m_vi->m_plugin->currentProgramName().section("/", 0, 0); if (str != "") lastPosInMenu = str.toInt(&converted, 10) - 1; QWidget::update(); @@ -617,10 +618,11 @@ -void VestigeInstrumentView::savePreset( void ) +void VestigeInstrumentView::savePreset() { - if ( m_vi->m_plugin != NULL ) { + if ( m_vi->m_plugin != NULL ) + { m_vi->m_plugin->savePreset( ); /* bool converted; QString str = m_vi->m_plugin->presetString().section("/", 0, 0); @@ -634,13 +636,13 @@ -void VestigeInstrumentView::rollPreset( void ) +void VestigeInstrumentView::nextProgram() { if ( m_vi->m_plugin != NULL ) { - m_vi->m_plugin->rollPreset( 1 ); + m_vi->m_plugin->rotateProgram( 1 ); bool converted; - QString str = m_vi->m_plugin->presetString().section("/", 0, 0); + QString str = m_vi->m_plugin->currentProgramName().section("/", 0, 0); if (str != "") lastPosInMenu = str.toInt(&converted, 10) - 1; QWidget::update(); @@ -650,13 +652,13 @@ -void VestigeInstrumentView::rolrPreset( void ) +void VestigeInstrumentView::previousProgram() { if ( m_vi->m_plugin != NULL ) { - m_vi->m_plugin->rollPreset( -1 ); + m_vi->m_plugin->rotateProgram( -1 ); bool converted; - QString str = m_vi->m_plugin->presetString().section("/", 0, 0); + QString str = m_vi->m_plugin->currentProgramName().section("/", 0, 0); if (str != "") lastPosInMenu = str.toInt(&converted, 10) - 1; QWidget::update(); @@ -673,7 +675,7 @@ if (action) if ( m_vi->m_plugin != NULL ) { lastPosInMenu = action->data().toInt(); - m_vi->m_plugin->rollPreset( action->data().toInt() + 2 ); + m_vi->m_plugin->setProgram( action->data().toInt() ); QWidget::update(); } } @@ -790,7 +792,7 @@ p.setFont( pointSize<8>( f ) ); p.drawText( 10, 114, tr( "by" ) + " " + m_vi->m_plugin->vendorString() ); - p.drawText( 10, 225, m_vi->m_plugin->presetString() ); + p.drawText( 10, 225, m_vi->m_plugin->currentProgramName() ); } // m_pluginMutex.unlock(); } diff -Nru lmms-0.4.13-stable.git.2254/plugins/vestige/vestige.h lmms-0.4.14~rc1/plugins/vestige/vestige.h --- lmms-0.4.13-stable.git.2254/plugins/vestige/vestige.h 2012-11-12 01:37:19.000000000 +0000 +++ lmms-0.4.14~rc1/plugins/vestige/vestige.h 2012-12-10 20:13:56.000000000 +0000 @@ -1,7 +1,7 @@ /* * vestige.h - instrument VeSTige for hosting VST-plugins * - * Copyright (c) 2005-2011 Tobias Doerffel + * Copyright (c) 2005-2012 Tobias Doerffel * * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net * @@ -145,8 +145,8 @@ void managePlugin( void ); void openPreset( void ); void savePreset( void ); - void rollPreset( void ); - void rolrPreset( void ); + void nextProgram(); + void previousProgram(); void selPreset( void ); void toggleGUI( void ); void noteOffAll( void ); diff -Nru lmms-0.4.13-stable.git.2254/plugins/vst_base/CMakeLists.txt lmms-0.4.14~rc1/plugins/vst_base/CMakeLists.txt --- lmms-0.4.13-stable.git.2254/plugins/vst_base/CMakeLists.txt 2012-11-12 01:30:11.000000000 +0000 +++ lmms-0.4.14~rc1/plugins/vst_base/CMakeLists.txt 2012-12-10 20:13:56.000000000 +0000 @@ -6,6 +6,7 @@ ADD_DEFINITIONS(-DPTW32_STATIC_LIB) ADD_EXECUTABLE(RemoteVstPlugin ${CMAKE_CURRENT_SOURCE_DIR}/RemoteVstPlugin.cpp) TARGET_LINK_LIBRARIES(RemoteVstPlugin -lQtCore4 -lpthread -lgdi32 -lws2_32) + SET_TARGET_PROPERTIES(RemoteVstPlugin PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS} -O3") ADD_CUSTOM_COMMAND(TARGET RemoteVstPlugin POST_BUILD COMMAND ${STRIP} ${CMAKE_CURRENT_BINARY_DIR}/RemoteVstPlugin.exe) INSTALL(TARGETS RemoteVstPlugin RUNTIME DESTINATION ${PLUGIN_DIR}) diff -Nru lmms-0.4.13-stable.git.2254/plugins/vst_base/RemoteVstPlugin.cpp lmms-0.4.14~rc1/plugins/vst_base/RemoteVstPlugin.cpp --- lmms-0.4.13-stable.git.2254/plugins/vst_base/RemoteVstPlugin.cpp 2012-11-12 01:37:19.000000000 +0000 +++ lmms-0.4.14~rc1/plugins/vst_base/RemoteVstPlugin.cpp 2012-12-10 20:13:56.000000000 +0000 @@ -1,7 +1,7 @@ /* * RemoteVstPlugin.cpp - LMMS VST Support Layer (RemotePlugin client) * - * Copyright (c) 2005-2010 Tobias Doerffel + * Copyright (c) 2005-2012 Tobias Doerffel * * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net * @@ -163,8 +163,11 @@ // determine product-string of plugin const char * pluginProductString(); - // determine name of plugipn preset - const char * presetName(); + // determine name of current program + const char * programName(); + + // send name of current program back to host + void sendCurrentProgramName(); // do a complete parameter-dump and post it void getParameterDump(); @@ -182,13 +185,16 @@ void loadChunkFromFile( const std::string & _file, int _len ); // restore settings chunk of plugin from file - void loadChunkFromPresetFile( const std::string & _file ); + void loadPresetFile( const std::string & _file ); - // restore settings chunk of plugin from file - void rotateProgram( int _len ); + // sets given program index + void setProgram( int index ); + + // rotate current program by given offset + void rotateProgram( int offset ); - // Load names VST of presets/programs - void loadPrograms( int _len ); + // Load names of presets/programs + void getProgramNames(); // Save presets/programs void savePreset( const std::string & _file ); @@ -255,13 +261,23 @@ lock(); if( m_plugin ) { - ret = m_plugin->dispatcher( m_plugin, cmd, param1, - param2, p, f ); + ret = m_plugin->dispatcher( m_plugin, cmd, param1, param2, p, f ); } unlock(); return ret; } + // thread-safe dispatching of plugin + int pluginDispatchNoLocking( int cmd, int param1 = 0, int param2 = 0, void * p = NULL, float f = 0 ) + { + if( m_plugin ) + { + return m_plugin->dispatcher( m_plugin, cmd, param1, param2, p, f ); + } + return 0; + } + + std::string m_shortName; HINSTANCE m_libInst; @@ -285,6 +301,7 @@ bpm_t m_bpm; double m_currentSamplePos; + int m_currentProgram; } ; @@ -306,7 +323,8 @@ m_outputs( NULL ), m_midiEvents(), m_bpm( 0 ), - m_currentSamplePos( 0 ) + m_currentSamplePos( 0 ), + m_currentProgram( -1 ) { pthread_mutex_init( &m_pluginLock, NULL ); @@ -314,7 +332,7 @@ // process until we have loaded the plugin while( 1 ) - { + { message m = receiveMessage(); processMessage( m ); if( m.id == IdVstLoadPlugin || m.id == IdQuit ) @@ -401,32 +419,53 @@ sendMessage( IdLoadSettingsFromFile ); break; - case IdLoadChunkFromPresetFile: - loadChunkFromPresetFile( _m.getString( 0 ) ); - sendMessage( IdLoadChunkFromPresetFile ); + case IdLoadPresetFile: + loadPresetFile( _m.getString( 0 ) ); + sendMessage( IdLoadPresetFile ); break; - case IdRotateProgram: + case IdVstSetProgram: + setProgram( _m.getInt( 0 ) ); + sendMessage( IdVstSetProgram ); + break; + + case IdVstCurrentProgram: + sendMessage( message( IdVstCurrentProgram ).addInt( m_currentProgram ) ); + break; + + case IdVstRotateProgram: rotateProgram( _m.getInt( 0 ) ); - sendMessage( IdRotateProgram ); + sendMessage( IdVstRotateProgram ); break; - case IdLoadPrograms: - loadPrograms( _m.getInt( 0 ) ); - sendMessage( IdLoadPrograms ); + case IdVstProgramNames: + getProgramNames(); break; - case IdSavePreset: + case IdSavePresetFile: savePreset( _m.getString( 0 ) ); - sendMessage( IdSavePreset ); + sendMessage( IdSavePresetFile ); break; - case IdSetParameter: + case IdVstSetParameter: + lock(); m_plugin->setParameter( m_plugin, _m.getInt( 0 ), _m.getFloat( 1 ) ); - sendMessage( IdSetParameter ); + unlock(); + sendMessage( IdVstSetParameter ); break; + case IdVstIdleUpdate: + { + int newCurrentProgram = pluginDispatch( effGetProgram ); + if( newCurrentProgram != m_currentProgram ) + { + m_currentProgram = newCurrentProgram; + sendCurrentProgramName(); + } + + break; + } default: return RemotePluginClient::processMessage( _m ); @@ -609,10 +648,7 @@ if( m_plugin->magic != kEffectMagic ) { - char buf[256]; - sprintf( buf, "%s is not a VST plugin\n", - _plugin_file.c_str() ); - debugMessage( buf ); + debugMessage( "File is not a VST plugin\n" ); return false; } @@ -675,6 +711,8 @@ memset( m_outputs[i], 0, bufferSize() * sizeof( float ) ); } + lock(); + #ifdef OLD_VST_SDK if( m_plugin->flags & effFlagsCanReplacing ) { @@ -690,8 +728,9 @@ } #endif - m_currentSamplePos += bufferSize(); + unlock(); + m_currentSamplePos += bufferSize(); } @@ -768,34 +807,53 @@ -const char * RemoteVstPlugin::presetName() +const char * RemoteVstPlugin::programName() { - static char buf[32]; - buf[0] = 0; + static char buf[24]; - m_plugin->dispatcher(m_plugin, effGetProgramName, 0, 0, buf, 0); + memset( buf, 0, sizeof( buf ) ); + + pluginDispatch( effGetProgramName, 0, 0, buf ); + + buf[23] = 0; - buf[31] = 0; return buf; } +void RemoteVstPlugin::sendCurrentProgramName() +{ + char presName[64]; + sprintf( presName, "%d/%d: %s", pluginDispatch( effGetProgram ) + 1, m_plugin->numPrograms, programName() ); + + sendMessage( message( IdVstCurrentProgramName ).addString( presName ) ); +} + + + void RemoteVstPlugin::getParameterDump() { - char curPresName[30]; - //VstParameterProperties vst_props; - message m( IdVstParameterDump ); - m.addInt( m_plugin->numParams ); - for( int i = 0; i < m_plugin->numParams; ++i ) - { - //pluginDispatch( effGetParameterProperties, i, 0, &vst_props ); - m_plugin->dispatcher(m_plugin, effGetParamName, i, 0, curPresName, 0); - m.addInt( i ); - m.addString( /*vst_props.shortLabel*/curPresName ); - m.addFloat( m_plugin->getParameter( m_plugin, i ) ); - } - sendMessage( m ); + lock(); + + message m( IdVstParameterDump ); + m.addInt( m_plugin->numParams ); + + for( int i = 0; i < m_plugin->numParams; ++i ) + { + char paramName[32]; + memset( paramName, 0, sizeof( paramName ) ); + pluginDispatchNoLocking( effGetParamName, i, 0, paramName ); + paramName[sizeof(paramName)-1] = 0; + + m.addInt( i ); + m.addString( paramName ); + m.addFloat( m_plugin->getParameter( m_plugin, i ) ); + } + + unlock(); + + sendMessage( m ); } @@ -803,6 +861,7 @@ void RemoteVstPlugin::setParameterDump( const message & _m ) { + lock(); const int n = _m.getInt( 0 ); const int params = ( n > m_plugin->numParams ) ? m_plugin->numParams : n; @@ -815,6 +874,7 @@ item.value = _m.getFloat( ++p ); m_plugin->setParameter( m_plugin, item.index, item.value ); } + unlock(); } @@ -869,55 +929,86 @@ -void RemoteVstPlugin::rotateProgram( int _len ) +void RemoteVstPlugin::setProgram( int program ) { - int currProgram; - if (isInitialized() == false) return; - if (_len <= 1) { - currProgram = m_plugin->dispatcher(m_plugin, effGetProgram, 0, 0, 0, 0) + _len; - if (currProgram >= m_plugin->numPrograms) currProgram = m_plugin->numPrograms - 1; - if (currProgram < 0) currProgram = 0; - m_plugin->dispatcher(m_plugin, effSetProgram, 0, currProgram++, 0, 0); - } else { - m_plugin->dispatcher(m_plugin, effSetProgram, 0, _len - 2, 0, 0); - currProgram = _len - 1; + if( isInitialized() == false ) + { + return; } - char presName[64]; - sprintf( presName, " %d/%d: %s", currProgram, m_plugin->numPrograms, presetName() ); + if( program < 0 ) + { + program = 0; + } + else if( program >= m_plugin->numPrograms ) + { + program = m_plugin->numPrograms - 1; + } + pluginDispatch( effSetProgram, 0, program ); + + sendCurrentProgramName(); +} + + + + +void RemoteVstPlugin::rotateProgram( int offset ) +{ + if( isInitialized() == false ) + { + return; + } + + int newProgram = pluginDispatch( effGetProgram ) + offset; - sendMessage( message( IdVstPluginPresetString ).addString( presName ) ); + if( newProgram < 0 ) + { + newProgram = 0; + } + else if( newProgram >= m_plugin->numPrograms ) + { + newProgram = m_plugin->numPrograms - 1; + } + pluginDispatch( effSetProgram, 0, newProgram ); + + sendCurrentProgramName(); } -void RemoteVstPlugin::loadPrograms( int _len ) +void RemoteVstPlugin::getProgramNames() { char presName[1024+256*30]; char curProgName[30]; if (isInitialized() == false) return; - bool progNameIndexed = (m_plugin->dispatcher(m_plugin, 29, 0, -1, curProgName, 0) == 1); + bool progNameIndexed = ( pluginDispatch( 29, 0, -1, curProgName ) == 1 ); if (m_plugin->numPrograms > 1) { if (progNameIndexed) { - for (int i = 0; i< (m_plugin->numPrograms >= 256?256:m_plugin->numPrograms); i++) { - m_plugin->dispatcher(m_plugin, 29, i, -1, curProgName, 0); + for (int i = 0; i< (m_plugin->numPrograms >= 256?256:m_plugin->numPrograms); i++) + { + pluginDispatch( 29, i, -1, curProgName ); if (i == 0) sprintf( presName, "%s", curProgName ); else sprintf( presName + strlen(presName), "|%s", curProgName ); } - } else { - int currProgram = m_plugin->dispatcher(m_plugin, effGetProgram, 0, 0, 0, 0); - for (int i = 0; i< (m_plugin->numPrograms >= 256?256:m_plugin->numPrograms); i++) { - m_plugin->dispatcher(m_plugin, effSetProgram, 0, i, 0, 0); - if (i == 0) sprintf( presName, "%s", presetName() ); - else sprintf( presName + strlen(presName), "|%s", presetName() ); + } + else + { + int currProgram = pluginDispatch( effGetProgram ); + for (int i = 0; i< (m_plugin->numPrograms >= 256?256:m_plugin->numPrograms); i++) + { + pluginDispatch( effSetProgram, 0, i ); + if (i == 0) sprintf( presName, "%s", programName() ); + else sprintf( presName + strlen(presName), "|%s", programName() ); } - m_plugin->dispatcher(m_plugin, effSetProgram, 0, currProgram, 0, 0); + pluginDispatch( effSetProgram, 0, currProgram ); } - } else sprintf( presName, "%s", presetName() ); + } else sprintf( presName, "%s", programName() ); - sendMessage( message( IdVstPluginPresetsString ).addString( presName ) ); + presName[sizeof(presName)-1] = 0; + + sendMessage( message( IdVstProgramNames ).addString( presName ) ); } @@ -950,24 +1041,27 @@ bool isPreset = _file.substr( _file.find_last_of( "." ) + 1 ) == "fxp"; int presNameLen = _file.find_last_of( "/" ) + _file.find_last_of( "\\" ) + 2; - if (isPreset) { - for (int i = 0; i < _file.length() - 4 - presNameLen; i++) + if (isPreset) + { + for (size_t i = 0; i < _file.length() - 4 - presNameLen; i++) progName[i] = i < 23 ? _file[presNameLen + i] : 0; - m_plugin->dispatcher(m_plugin, 4, 0, 0, progName, 0); - } // m_plugin->dispatcher( m_plugin, effGetProgramName, 0, 0, progName, 0.0f ); + pluginDispatch( 4, 0, 0, progName ); + } if ( chunky ) - chunk_size = m_plugin->dispatcher( m_plugin, 23, isPreset, 0, &data, false ); + chunk_size = pluginDispatch( 23, isPreset, 0, &data ); else { if (isPreset) { chunk_size = m_plugin->numParams * sizeof( float ); data = new char[ chunk_size ]; unsigned int* toUIntArray = reinterpret_cast( data ); + lock(); for ( int i = 0; i < m_plugin->numParams; i++ ) { float value = m_plugin->getParameter( m_plugin, i ); unsigned int * pValue = ( unsigned int * ) &value; toUIntArray[ i ] = endian_swap( *pValue ); } + unlock(); } else chunk_size = (((m_plugin->numParams * sizeof( float )) + 56)*m_plugin->numPrograms); } @@ -999,7 +1093,7 @@ fwrite ( data, 1, chunk_size, stream ); else { int numPrograms = m_plugin->numPrograms; - int currProgram = m_plugin->dispatcher(m_plugin, effGetProgram, 0, 0, 0, 0); + int currProgram = pluginDispatch( effGetProgram ); chunk_size = (m_plugin->numParams * sizeof( float )); pBank->byteSize = chunk_size + 48; pBank->byteSize = endian_swap( pBank->byteSize ); @@ -1010,18 +1104,20 @@ unsigned int* pValue,* toUIntArray = reinterpret_cast( data ); float value; for (int j = 0; j < numPrograms; j++) { - m_plugin->dispatcher(m_plugin, effSetProgram, 0, j, 0, 0); - m_plugin->dispatcher(m_plugin, effGetProgramName, 0, 0, pBank->prgName, 0); + pluginDispatch( effSetProgram, 0, j ); + pluginDispatch( effGetProgramName, 0, 0, pBank->prgName ); fwrite ( pBank, 1, 56, stream ); + lock(); for ( int i = 0; i < m_plugin->numParams; i++ ) { value = m_plugin->getParameter( m_plugin, i ); pValue = ( unsigned int * ) &value; toUIntArray[ i ] = endian_swap( *pValue ); } + unlock(); fwrite ( data, 1, chunk_size, stream ); } - m_plugin->dispatcher(m_plugin, effSetProgram, 0, currProgram, 0, 0); + pluginDispatch( effSetProgram, 0, currProgram ); } fclose( stream ); @@ -1034,7 +1130,7 @@ -void RemoteVstPlugin::loadChunkFromPresetFile( const std::string & _file ) +void RemoteVstPlugin::loadPresetFile( const std::string & _file ) { void * chunk = NULL; unsigned int * pLen = new unsigned int[ 1 ]; @@ -1048,7 +1144,7 @@ float * pFloat; if (m_plugin->uniqueID != pBank->fxID) { - sendMessage( message( IdVstPluginPresetString ). + sendMessage( message( IdVstCurrentProgramName ). addString( "Error: Plugin UniqID not match" ) ); fclose( stream ); delete[] (unsigned int*)pLen; @@ -1070,47 +1166,50 @@ if(_file.substr(_file.find_last_of(".") + 1) == "fxp") { pBank->prgName[23] = 0; - m_plugin->dispatcher(m_plugin, 4, 0, 0, pBank->prgName, 0); + pluginDispatch( 4, 0, 0, pBank->prgName ); if(pBank->fxMagic != 0x6B437846) - m_plugin->dispatcher(m_plugin, 24, 1, len, chunk, 0); - else { + pluginDispatch( 24, 1, len, chunk ); + else + { + lock(); unsigned int* toUIntArray = reinterpret_cast( chunk ); - for (int i = 0; i < pBank->numPrograms; i++ ) { + for (int i = 0; i < pBank->numPrograms; i++ ) + { toUInt = endian_swap( toUIntArray[ i ] ); pFloat = ( float* ) &toUInt; m_plugin->setParameter( m_plugin, i, *pFloat ); } + unlock(); } } else { if(pBank->fxMagic != 0x6B427846) { - m_plugin->dispatcher(m_plugin, 24, 0, len, chunk, 0); + pluginDispatch( 24, 0, len, chunk ); } else { int numPrograms = pBank->numPrograms; unsigned int * toUIntArray; - int currProgram = m_plugin->dispatcher(m_plugin, effGetProgram, 0, 0, 0, 0); + int currProgram = pluginDispatch( effGetProgram ); chunk = new char[ len = sizeof(float)*m_plugin->numParams ]; toUIntArray = reinterpret_cast( chunk ); + lock(); for (int i =0; i < numPrograms; i++) { fread (pBank, 1, 56, stream); fread (chunk, len, 1, stream); - m_plugin->dispatcher(m_plugin, effSetProgram, 0, i, 0, 0); + pluginDispatch( effSetProgram, 0, i ); pBank->prgName[23] = 0; - m_plugin->dispatcher(m_plugin, 4, 0, 0, pBank->prgName, 0); + pluginDispatch( 4, 0, 0, pBank->prgName ); for (int j = 0; j < m_plugin->numParams; j++ ) { toUInt = endian_swap( toUIntArray[ j ] ); pFloat = ( float* ) &toUInt; m_plugin->setParameter( m_plugin, j, *pFloat ); } } - m_plugin->dispatcher(m_plugin, effSetProgram, 0, currProgram, 0, 0); + unlock(); + pluginDispatch( effSetProgram, 0, currProgram ); fclose( stream ); } } - char presName[64]; - int currProgram = m_plugin->dispatcher(m_plugin, effGetProgram, 0, 0, 0, 0) + 1; - sprintf( presName, " %d/%d: %s", currProgram, m_plugin->numPrograms, presetName() ); - sendMessage( message( IdVstPluginPresetString ).addString( presName ) ); + sendCurrentProgramName(); delete[] (unsigned int*)pLen; delete[] (sBank*)pBank; diff -Nru lmms-0.4.13-stable.git.2254/plugins/vst_base/VstPlugin.cpp lmms-0.4.14~rc1/plugins/vst_base/VstPlugin.cpp --- lmms-0.4.13-stable.git.2254/plugins/vst_base/VstPlugin.cpp 2012-11-12 01:30:11.000000000 +0000 +++ lmms-0.4.14~rc1/plugins/vst_base/VstPlugin.cpp 2012-12-10 20:13:56.000000000 +0000 @@ -1,7 +1,7 @@ /* * VstPlugin.cpp - implementation of VstPlugin class * - * Copyright (c) 2005-2009 Tobias Doerffel + * Copyright (c) 2005-2012 Tobias Doerffel * * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net * @@ -88,9 +88,11 @@ m_version( 0 ), m_vendorString(), m_productString(), - m_presetString(), - m_presetsString(), - p_name() + m_currentProgramName(), + m_allProgramNames(), + p_name(), + m_currentProgram(), + m_idleTimer() { setSplittedChannels( true ); @@ -109,6 +111,11 @@ this, SLOT( setTempo( bpm_t ) ) ); connect( engine::getMixer(), SIGNAL( sampleRateChanged() ), this, SLOT( updateSampleRate() ) ); + + // update once per second + m_idleTimer.start( 1000 ); + connect( &m_idleTimer, SIGNAL( timeout() ), + this, SLOT( idleUpdate() ) ); } @@ -279,6 +286,10 @@ setParameterDump( dump ); } + if( _this.hasAttribute( "program" ) ) + { + setProgram( _this.attribute( "program" ).toInt() ); + } } @@ -309,6 +320,8 @@ _this.setAttribute( it.key(), it.value() ); } } + + _this.setAttribute( "program", currentProgram() ); } @@ -335,6 +348,18 @@ +int VstPlugin::currentProgram() +{ + lock(); + sendMessage( message( IdVstCurrentProgram ) ); + waitForMessage( IdVstCurrentProgram ); + unlock(); + + return m_currentProgram; +} + + + const QMap & VstPlugin::parameterDump() { lock(); @@ -406,12 +431,16 @@ m_productString = _m.getQString(); break; - case IdVstPluginPresetString: - m_presetString = _m.getQString(); + case IdVstCurrentProgram: + m_currentProgram = _m.getInt(); + break; + + case IdVstCurrentProgramName: + m_currentProgramName = _m.getQString(); break; - case IdVstPluginPresetsString: - m_presetsString = _m.getQString(); + case IdVstProgramNames: + m_allProgramNames = _m.getQString(); break; case IdVstPluginUniqueID: @@ -457,12 +486,12 @@ !ofd.selectedFiles().isEmpty() ) { lock(); - sendMessage( message( IdLoadChunkFromPresetFile ). + sendMessage( message( IdLoadPresetFile ). addString( QSTR_TO_STDSTR( QDir::toNativeSeparators( ofd.selectedFiles()[0] ) ) ) ); - waitForMessage( IdLoadChunkFromPresetFile ); + waitForMessage( IdLoadPresetFile ); unlock(); } } @@ -470,24 +499,33 @@ -void VstPlugin::rollPreset( int step ) +void VstPlugin::setProgram( int index ) { lock(); - sendMessage( message( IdRotateProgram ). - addInt( step ) ); - waitForMessage( IdRotateProgram ); + sendMessage( message( IdVstSetProgram ).addInt( index ) ); + waitForMessage( IdVstSetProgram ); unlock(); } -void VstPlugin::loadPrograms( int step ) +void VstPlugin::rotateProgram( int offset ) { lock(); - sendMessage( message( IdLoadPrograms ). - addInt( step ) ); - waitForMessage( IdLoadPrograms ); + sendMessage( message( IdVstRotateProgram ).addInt( offset ) ); + waitForMessage( IdVstRotateProgram ); + unlock(); +} + + + + +void VstPlugin::loadProgramNames() +{ + lock(); + sendMessage( message( IdVstProgramNames ) ); + waitForMessage( IdVstProgramNames ); unlock(); } @@ -496,7 +534,7 @@ void VstPlugin::savePreset( ) { - QString presName = this->presetString() == "" ? tr(": default"): this->presetString(); + QString presName = currentProgramName().isEmpty() ? tr(": default") : currentProgramName(); presName.replace(tr("\""), tr("'")); // QFileDialog unable to handle double quotes properly QFileDialog sfd( NULL, tr( "Save Preset" ), presName.section(": ", 1, 1) + tr(".fxp"), @@ -519,12 +557,12 @@ fns = fns + tr(".fxb"); else fns = fns.left(fns.length() - 4) + (fns.right( 4 )).toLower(); lock(); - sendMessage( message( IdSavePreset ). + sendMessage( message( IdSavePresetFile ). addString( QSTR_TO_STDSTR( QDir::toNativeSeparators( fns ) ) ) ); - waitForMessage( IdSavePreset ); + waitForMessage( IdSavePresetFile ); unlock(); } } @@ -535,13 +573,21 @@ void VstPlugin::setParam( int i, float f ) { lock(); - sendMessage( message( IdSetParameter ).addInt( i ).addFloat( f ) ); - waitForMessage( IdSetParameter ); + sendMessage( message( IdVstSetParameter ).addInt( i ).addFloat( f ) ); + waitForMessage( IdVstSetParameter ); unlock(); } +void VstPlugin::idleUpdate() +{ + lock(); + sendMessage( message( IdVstIdleUpdate ) ); + unlock(); +} + + void VstPlugin::loadChunk( const QByteArray & _chunk ) { diff -Nru lmms-0.4.13-stable.git.2254/plugins/vst_base/VstPlugin.h lmms-0.4.14~rc1/plugins/vst_base/VstPlugin.h --- lmms-0.4.13-stable.git.2254/plugins/vst_base/VstPlugin.h 2012-11-12 01:37:19.000000000 +0000 +++ lmms-0.4.14~rc1/plugins/vst_base/VstPlugin.h 2012-12-10 20:13:56.000000000 +0000 @@ -1,7 +1,7 @@ /* * VstPlugin.h - declaration of VstPlugin class * - * Copyright (c) 2005-2010 Tobias Doerffel + * Copyright (c) 2005-2012 Tobias Doerffel * * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net * @@ -28,6 +28,7 @@ #include #include #include +#include #include #include "mixer.h" @@ -75,16 +76,18 @@ return m_productString; } - inline const QString & presetString() const + inline const QString& currentProgramName() const { - return m_presetString; + return m_currentProgramName; } - inline const QString & presetsString() const + inline const QString& allProgramNames() const { - return m_presetsString; + return m_allProgramNames; } + int currentProgram(); + const QMap & parameterDump(); void setParameterDump( const QMap & _pdump ); @@ -114,10 +117,12 @@ void setTempo( bpm_t _bpm ); void updateSampleRate(); void openPreset( void ); - void rollPreset( int step ); - void loadPrograms( int step ); + void setProgram( int index ); + void rotateProgram( int offset ); + void loadProgramNames(); void savePreset( void ); void setParam( int i, float f ); + void idleUpdate(); private: @@ -135,13 +140,17 @@ Sint32 m_version; QString m_vendorString; QString m_productString; - QString m_presetString; - QString m_presetsString; + QString m_currentProgramName; + QString m_allProgramNames; QString p_name; QMap m_parameterDump; + int m_currentProgram; + + QTimer m_idleTimer; + } ; diff -Nru lmms-0.4.13-stable.git.2254/plugins/vst_base/Win64/CMakeLists.txt lmms-0.4.14~rc1/plugins/vst_base/Win64/CMakeLists.txt --- lmms-0.4.13-stable.git.2254/plugins/vst_base/Win64/CMakeLists.txt 2012-11-12 01:30:11.000000000 +0000 +++ lmms-0.4.14~rc1/plugins/vst_base/Win64/CMakeLists.txt 2012-12-10 20:13:56.000000000 +0000 @@ -5,6 +5,7 @@ TARGET_LINK_LIBRARIES(RemoteVstPlugin32 -lQtCore4 -lpthread -lgdi32 -lws2_32) ADD_CUSTOM_COMMAND(TARGET RemoteVstPlugin32 POST_BUILD COMMAND ${STRIP} ${CMAKE_CURRENT_BINARY_DIR}/RemoteVstPlugin32.exe) +SET_TARGET_PROPERTIES(RemoteVstPlugin32 PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS} -O3") INSTALL(TARGETS RemoteVstPlugin32 RUNTIME DESTINATION ${PLUGIN_DIR}/32) diff -Nru lmms-0.4.13-stable.git.2254/plugins/vst_base/communication.h lmms-0.4.14~rc1/plugins/vst_base/communication.h --- lmms-0.4.13-stable.git.2254/plugins/vst_base/communication.h 2012-11-12 01:30:11.000000000 +0000 +++ lmms-0.4.14~rc1/plugins/vst_base/communication.h 2012-12-10 20:13:56.000000000 +0000 @@ -64,6 +64,12 @@ IdVstGetParameterDump, IdVstSetParameterDump, IdVstGetParameterProperties, + IdVstProgramNames, + IdVstCurrentProgram, + IdVstCurrentProgramName, + IdVstSetProgram, + IdVstRotateProgram, + IdVstIdleUpdate, // remoteVstPlugin -> vstPlugin IdVstFailedLoadingPlugin, @@ -74,9 +80,9 @@ IdVstPluginVersion, IdVstPluginVendorString, IdVstPluginProductString, - IdVstPluginPresetString, IdVstPluginPresetsString, IdVstPluginUniqueID, + IdVstSetParameter, IdVstParameterCount, IdVstParameterDump, IdVstParameterProperties diff -Nru lmms-0.4.13-stable.git.2254/plugins/vst_effect/VstEffectControls.cpp lmms-0.4.14~rc1/plugins/vst_effect/VstEffectControls.cpp --- lmms-0.4.13-stable.git.2254/plugins/vst_effect/VstEffectControls.cpp 2012-11-12 01:30:11.000000000 +0000 +++ lmms-0.4.14~rc1/plugins/vst_effect/VstEffectControls.cpp 2012-12-10 20:13:56.000000000 +0000 @@ -170,7 +170,7 @@ if ( m_effect->m_plugin != NULL ) { m_effect->m_plugin->savePreset( ); /* bool converted; - QString str = m_vi->m_plugin->presetString().section("/", 0, 0); + QString str = m_vi->m_plugin->currentProgramName().section("/", 0, 0); if (str != "") lastPosInMenu = str.toInt(&converted, 10) - 1; QWidget::update();*/ @@ -185,11 +185,12 @@ { // get all presets - - if ( m_effect->m_plugin != NULL ) { - m_effect->m_plugin->loadPrograms( 1 ); + if ( m_effect->m_plugin != NULL ) + { + m_effect->m_plugin->loadProgramNames(); ///QWidget::update(); - QString str = m_effect->m_plugin->presetsString(); + QString str = m_effect->m_plugin->allProgramNames(); QStringList list1 = str.split("|"); @@ -223,7 +224,7 @@ if ( m_effect->m_plugin != NULL ) { m_effect->m_plugin->openPreset( ); bool converted; - QString str = m_effect->m_plugin->presetString().section("/", 0, 0); + QString str = m_effect->m_plugin->currentProgramName().section("/", 0, 0); if (str != "") lastPosInMenu = str.toInt(&converted, 10) - 1; //QWidget::update(); @@ -238,9 +239,9 @@ { if ( m_effect->m_plugin != NULL ) { - m_effect->m_plugin->rollPreset( 1 ); + m_effect->m_plugin->rotateProgram( 1 ); bool converted; - QString str = m_effect->m_plugin->presetString().section("/", 0, 0); + QString str = m_effect->m_plugin->currentProgramName().section("/", 0, 0); if (str != "") lastPosInMenu = str.toInt(&converted, 10) - 1; //QWidget::update(); @@ -254,9 +255,9 @@ { if ( m_effect->m_plugin != NULL ) { - m_effect->m_plugin->rollPreset( -1 ); + m_effect->m_plugin->rotateProgram( -1 ); bool converted; - QString str = m_effect->m_plugin->presetString().section("/", 0, 0); + QString str = m_effect->m_plugin->currentProgramName().section("/", 0, 0); if (str != "") lastPosInMenu = str.toInt(&converted, 10) - 1; //QWidget::update(); @@ -273,7 +274,7 @@ if (action) if ( m_effect->m_plugin != NULL ) { lastPosInMenu = action->data().toInt(); - m_effect->m_plugin->rollPreset( lastPosInMenu + 2 ); + m_effect->m_plugin->setProgram( lastPosInMenu ); //QWidget::update(); } } diff -Nru lmms-0.4.13-stable.git.2254/plugins/zynaddsubfx/RemoteZynAddSubFx.cpp lmms-0.4.14~rc1/plugins/zynaddsubfx/RemoteZynAddSubFx.cpp --- lmms-0.4.13-stable.git.2254/plugins/zynaddsubfx/RemoteZynAddSubFx.cpp 2012-11-12 01:30:11.000000000 +0000 +++ lmms-0.4.14~rc1/plugins/zynaddsubfx/RemoteZynAddSubFx.cpp 2012-12-10 20:13:56.000000000 +0000 @@ -1,7 +1,7 @@ /* * RemoteZynAddSubFx.cpp - ZynAddSubFx-embedding plugin * - * Copyright (c) 2008-2010 Tobias Doerffel + * Copyright (c) 2008-2012 Tobias Doerffel * * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net * @@ -98,7 +98,7 @@ case IdShowUI: case IdHideUI: case IdLoadSettingsFromFile: - case IdLoadPresetFromFile: + case IdLoadPresetFile: pthread_mutex_lock( &m_guiMutex ); m_guiMessages.push( _m ); pthread_mutex_unlock( &m_guiMutex ); @@ -221,7 +221,7 @@ break; } - case IdLoadPresetFromFile: + case IdLoadPresetFile: { LocalZynAddSubFx::loadPreset( m.getString(), ui ? ui->npartcounter->value()-1 : 0 ); @@ -232,7 +232,7 @@ ui->refresh_master_ui(); } pthread_mutex_lock( &m_master->mutex ); - sendMessage( IdLoadPresetFromFile ); + sendMessage( IdLoadPresetFile ); pthread_mutex_unlock( &m_master->mutex ); break; } diff -Nru lmms-0.4.13-stable.git.2254/plugins/zynaddsubfx/ZynAddSubFx.cpp lmms-0.4.14~rc1/plugins/zynaddsubfx/ZynAddSubFx.cpp --- lmms-0.4.13-stable.git.2254/plugins/zynaddsubfx/ZynAddSubFx.cpp 2012-11-12 01:37:19.000000000 +0000 +++ lmms-0.4.14~rc1/plugins/zynaddsubfx/ZynAddSubFx.cpp 2012-12-10 20:13:56.000000000 +0000 @@ -290,8 +290,8 @@ { m_remotePlugin->lock(); m_remotePlugin->sendMessage( - RemotePlugin::message( IdLoadPresetFromFile ).addString( fn ) ); - m_remotePlugin->waitForMessage( IdLoadPresetFromFile ); + RemotePlugin::message( IdLoadPresetFile ).addString( fn ) ); + m_remotePlugin->waitForMessage( IdLoadPresetFile ); m_remotePlugin->unlock(); } else diff -Nru lmms-0.4.13-stable.git.2254/plugins/zynaddsubfx/zynaddsubfx.rc lmms-0.4.14~rc1/plugins/zynaddsubfx/zynaddsubfx.rc --- lmms-0.4.13-stable.git.2254/plugins/zynaddsubfx/zynaddsubfx.rc 1970-01-01 00:00:00.000000000 +0000 +++ lmms-0.4.14~rc1/plugins/zynaddsubfx/zynaddsubfx.rc 2012-12-10 20:13:56.000000000 +0000 @@ -0,0 +1,26 @@ +zynaddsubfx_icon ICON zynaddsubfx_icon.ico +#include + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 0,2,3,0 + FILEFLAGSMASK VS_FFI_FILEFLAGSMASK + FILEOS VOS_NT_WINDOWS32 + FILETYPE VFT_APP + FILESUBTYPE VFT2_UNKNOWN +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904E4" + //language ID = U.S. English, charset = Windows, Multilingual + BEGIN + VALUE "Comments", "ZynAddSubFX Plugin - Linux MultiMedia Studio (http://lmms.sf.net)\0" + VALUE "CompanyName", "LMMS Developers\0" + VALUE "FileDescription", "ZynAddSubFX LMMS Plugin\0" + VALUE "FileVersion", "2.3.0/0.4.14-rc1\0" + VALUE "LegalCopyright", "Copyright (c) Nasca Octavian Paul, Mark McCurry, Harald Hvaal, Tobias Doerffel\0" + VALUE "OriginalFilename", "RemoteZynAddSubFx.exe\0" + VALUE "ProductName", "ZynAddSubFX/LMMS\0" + VALUE "ProductVersion", "2.3.0/0.4.14-rc1\0" + END + END +END diff -Nru lmms-0.4.13-stable.git.2254/src/core/AutomatableModel.cpp lmms-0.4.14~rc1/src/core/AutomatableModel.cpp --- lmms-0.4.13-stable.git.2254/src/core/AutomatableModel.cpp 2012-11-12 01:37:19.000000000 +0000 +++ lmms-0.4.14~rc1/src/core/AutomatableModel.cpp 2012-12-10 20:13:56.000000000 +0000 @@ -1,7 +1,7 @@ /* * AutomatableModel.cpp - some implementations of AutomatableModel-class * - * Copyright (c) 2008-2009 Tobias Doerffel + * Copyright (c) 2008-2012 Tobias Doerffel * * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net * @@ -44,6 +44,8 @@ bool _default_constructed ) : Model( _parent, _display_name, _default_constructed ), m_dataType( _type ), + m_value( _val ), + m_initValue( _val ), m_minValue( _min ), m_maxValue( _max ), m_step( _step ), diff -Nru lmms-0.4.13-stable.git.2254/src/core/RemotePlugin.cpp lmms-0.4.14~rc1/src/core/RemotePlugin.cpp --- lmms-0.4.13-stable.git.2254/src/core/RemotePlugin.cpp 2012-11-12 01:37:19.000000000 +0000 +++ lmms-0.4.14~rc1/src/core/RemotePlugin.cpp 2012-12-10 20:13:56.000000000 +0000 @@ -314,7 +314,7 @@ #endif } - int shm_key = 0; + static int shm_key = 0; #ifdef USE_QT_SHMEM do { diff -Nru lmms-0.4.13-stable.git.2254/src/core/drumsynth.cpp lmms-0.4.14~rc1/src/core/drumsynth.cpp --- lmms-0.4.13-stable.git.2254/src/core/drumsynth.cpp 2012-11-12 01:30:12.000000000 +0000 +++ lmms-0.4.14~rc1/src/core/drumsynth.cpp 2012-12-10 20:13:56.000000000 +0000 @@ -270,7 +270,7 @@ int MainFilter, HighPass; long NON, NT, TON, DiON, TDroop=0, DStep; - float a, b=0.f, c=0.f, d=0.f, g, TT=0.f, TL, NL, F1, F2, Fsync; + float a, b=0.f, c=0.f, d=0.f, g, TT=0.f, TL, NL, F1, F2; float TphiStart=0.f, Tphi, TDroopRate, ddF, DAtten, DGain; long BON, BON2, BFStep, BFStep2, botmp; @@ -354,7 +354,6 @@ F1 = MasterTune * TwoPi * GetPrivateProfileFloat(sec,"F1",200.0,dsfile) / Fs; if(fabs(F1)<0.001f) F1=0.001f; //to prevent overtone ratio div0 F2 = MasterTune * TwoPi * GetPrivateProfileFloat(sec,"F2",120.0,dsfile) / Fs; - Fsync = F2; TDroopRate = GetPrivateProfileFloat(sec,"Droop",0.f,dsfile); if(TDroopRate>0.f) { diff -Nru lmms-0.4.13-stable.git.2254/src/core/song.cpp lmms-0.4.14~rc1/src/core/song.cpp --- lmms-0.4.13-stable.git.2254/src/core/song.cpp 2012-11-12 01:37:19.000000000 +0000 +++ lmms-0.4.14~rc1/src/core/song.cpp 2012-12-10 20:13:56.000000000 +0000 @@ -1,7 +1,7 @@ /* * song.cpp - root of the model tree * - * Copyright (c) 2004-2011 Tobias Doerffel + * Copyright (c) 2004-2012 Tobias Doerffel * * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net * @@ -80,6 +80,7 @@ m_modified( false ), m_recording( false ), m_exporting( false ), + m_exportLoop( false ), m_playing( false ), m_paused( false ), m_loadingProject( false ), @@ -645,6 +646,7 @@ { stop(); m_exporting = false; + m_exportLoop = false; } diff -Nru lmms-0.4.13-stable.git.2254/src/gui/FxMixerView.cpp lmms-0.4.14~rc1/src/gui/FxMixerView.cpp --- lmms-0.4.13-stable.git.2254/src/gui/FxMixerView.cpp 2012-11-12 01:37:19.000000000 +0000 +++ lmms-0.4.14~rc1/src/gui/FxMixerView.cpp 2012-12-10 20:13:56.000000000 +0000 @@ -238,7 +238,7 @@ flags |= Qt::MSWindowsFixedSizeDialogHint; flags &= ~Qt::WindowMaximizeButtonHint; subWin->setWindowFlags( flags ); - subWin->layout()->setSizeConstraint(QLayout::SetFixedSize); + //subWin->layout()->setSizeConstraint(QLayout::SetFixedSize); parentWidget()->setAttribute( Qt::WA_DeleteOnClose, false ); parentWidget()->move( 5, 310 ); diff -Nru lmms-0.4.13-stable.git.2254/src/gui/dialogs/export_project.ui lmms-0.4.14~rc1/src/gui/dialogs/export_project.ui --- lmms-0.4.13-stable.git.2254/src/gui/dialogs/export_project.ui 2012-11-12 01:37:20.000000000 +0000 +++ lmms-0.4.14~rc1/src/gui/dialogs/export_project.ui 2012-12-10 20:13:56.000000000 +0000 @@ -280,6 +280,13 @@ + + + Export as loop (remove end silence) + + + + Alias-free oscillators diff -Nru lmms-0.4.13-stable.git.2254/src/gui/export_project_dialog.cpp lmms-0.4.14~rc1/src/gui/export_project_dialog.cpp --- lmms-0.4.13-stable.git.2254/src/gui/export_project_dialog.cpp 2012-11-12 01:37:20.000000000 +0000 +++ lmms-0.4.14~rc1/src/gui/export_project_dialog.cpp 2012-12-10 20:13:56.000000000 +0000 @@ -1,7 +1,7 @@ /* * export_project_dialog.cpp - implementation of dialog for exporting project * - * Copyright (c) 2004-2009 Tobias Doerffel + * Copyright (c) 2004-2012 Tobias Doerffel * * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net * @@ -87,7 +87,7 @@ exportProjectDialog::~exportProjectDialog() { - for( RenderVector::const_iterator it = m_renderers.begin(); + for( RenderVector::ConstIterator it = m_renderers.begin(); it != m_renderers.end(); ++it ) { delete (*it); @@ -99,27 +99,29 @@ void exportProjectDialog::reject() { - for( RenderVector::const_iterator it = m_renderers.begin(); - it != m_renderers.end(); ++it ) + for( RenderVector::ConstIterator it = m_renderers.begin(); it != m_renderers.end(); ++it ) { (*it)->abortProcessing(); } } + + + void exportProjectDialog::accept() { // If more to render, kick off next render job - if (m_renderers.size() > 0) + if( m_renderers.isEmpty() == false ) { - pop_render( ); + popRender(); } else { // If done, then reset mute states - while(!m_unmuted.empty()) + while( m_unmuted.isEmpty() == false ) { - track* restore_track = m_unmuted.back(); + track* restoreTrack = m_unmuted.back(); m_unmuted.pop_back(); - restore_track->setMuted(false); + restoreTrack->setMuted( false ); } QDialog::accept(); @@ -132,8 +134,7 @@ void exportProjectDialog::closeEvent( QCloseEvent * _ce ) { - for( RenderVector::const_iterator it = m_renderers.begin(); - it != m_renderers.end(); ++it ) + for( RenderVector::ConstIterator it = m_renderers.begin(); it != m_renderers.end(); ++it ) { if( (*it)->isRunning() ) { @@ -143,20 +144,26 @@ QDialog::closeEvent( _ce ); } -void exportProjectDialog::pop_render() { - track* render_track = m_tracksToRender.back(); - m_tracksToRender.pop_back(); - // Set must states for song tracks - for (TrackVector::const_iterator it = m_unmuted.begin(); - it != m_unmuted.end(); ++it) { - if ((*it) == render_track) - { - (*it)->setMuted(false); - } else +void exportProjectDialog::popRender() +{ + if( m_multiExport && m_tracksToRender.isEmpty() == false ) + { + track* renderTrack = m_tracksToRender.back(); + m_tracksToRender.pop_back(); + + // Set must states for song tracks + for( TrackVector::ConstIterator it = m_unmuted.begin(); it != m_unmuted.end(); ++it ) { - (*it)->setMuted(true); + if( (*it) == renderTrack ) + { + (*it)->setMuted( false ); + } + else + { + (*it)->setMuted( true ); + } } } @@ -164,10 +171,12 @@ // Pop next render job and start ProjectRenderer* r = m_renderers.back(); m_renderers.pop_back(); - render(r); + render( r ); } -void exportProjectDialog::multi_render() + + +void exportProjectDialog::multiRender() { m_dirName = m_fileName; QString path = QDir(m_fileName).filePath("text.txt"); @@ -176,24 +185,24 @@ const trackContainer::trackList & tl = engine::getSong()->tracks(); - // Check for all unmuted tracks. Remember list. - for( trackContainer::trackList::const_iterator it = tl.begin(); + // Check for all unmuted tracks. Remember list. + for( trackContainer::trackList::ConstIterator it = tl.begin(); it != tl.end(); ++it ) { track* tk = (*it); track::TrackTypes type = tk->type(); // Don't mute automation tracks - if (! tk->isMuted() && ( - type == track::InstrumentTrack || - type == track::SampleTrack )) + if ( tk->isMuted() == false && + ( type == track::InstrumentTrack || type == track::SampleTrack ) ) { m_unmuted.push_back(tk); QString nextName = tk->name(); nextName = nextName.remove(QRegExp("[^a-zA-Z]")); QString name = QString("%1_%2.wav").arg(x++).arg(nextName); m_fileName = QDir(m_dirName).filePath(name); - prep_render(); - } else if (! tk->isMuted() && type == track::BBTrack) + prepRender(); + } + else if (! tk->isMuted() && type == track::BBTrack ) { m_unmutedBB.push_back(tk); } @@ -202,62 +211,74 @@ } const trackContainer::trackList t2 = engine::getBBTrackContainer()->tracks(); - for( trackContainer::trackList::const_iterator it = t2.begin(); - it != t2.end(); ++it ) + for( trackContainer::trackList::ConstIterator it = t2.begin(); it != t2.end(); ++it ) { track* tk = (*it); - if (! tk->isMuted()) + if ( tk->isMuted() == false ) { m_unmuted.push_back(tk); QString nextName = tk->name(); nextName = nextName.remove(QRegExp("[^a-zA-Z]")); QString name = QString("%1_%2.wav").arg(x++).arg(nextName); m_fileName = QDir(m_dirName).filePath(name); - prep_render(); + prepRender(); } } m_tracksToRender = m_unmuted; - pop_render( ); + popRender(); } -ProjectRenderer* exportProjectDialog::prep_render( - ) { + + +ProjectRenderer* exportProjectDialog::prepRender() +{ mixer::qualitySettings qs = mixer::qualitySettings( static_cast(interpolationCB->currentIndex()), static_cast(oversamplingCB->currentIndex()), sampleExactControllersCB->isChecked(), - aliasFreeOscillatorsCB->isChecked()); + aliasFreeOscillatorsCB->isChecked() ); + ProjectRenderer::OutputSettings os = ProjectRenderer::OutputSettings( - samplerateCB->currentText().section(" ", 0, 0).toUInt(), false, + samplerateCB->currentText().section(" ", 0, 0).toUInt(), + false, bitrateCB->currentText().section(" ", 0, 0).toUInt(), - static_cast(depthCB->currentIndex())); - ProjectRenderer* renderer = new ProjectRenderer(qs, os, m_ft, m_fileName); + static_cast( depthCB->currentIndex() ) ); + + engine::getSong()->setExportLoop( exportLoopCB->isChecked() ); + + ProjectRenderer* renderer = new ProjectRenderer( qs, os, m_ft, m_fileName ); + m_renderers.push_back(renderer); + return renderer; } -void exportProjectDialog::render(ProjectRenderer* renderer) + + +void exportProjectDialog::render( ProjectRenderer* renderer ) { - if (renderer->isReady()) { - connect(renderer, SIGNAL( progressChanged( int ) ), progressBar, - SLOT( setValue( int ) )); - connect(renderer, SIGNAL( progressChanged( int ) ), this, - SLOT( updateTitleBar( int ) )); - connect(renderer, SIGNAL( finished() ), this, SLOT( accept() )); - connect(renderer, SIGNAL( finished() ), engine::mainWindow(), - SLOT( resetWindowTitle() )); + if( renderer->isReady() ) + { + connect( renderer, SIGNAL( progressChanged( int ) ), progressBar, SLOT( setValue( int ) ) ); + connect( renderer, SIGNAL( progressChanged( int ) ), this, SLOT( updateTitleBar( int ) )) ; + connect( renderer, SIGNAL( finished() ), this, SLOT( accept() ) ); + connect( renderer, SIGNAL( finished() ), engine::mainWindow(), SLOT( resetWindowTitle() ) ); renderer->startProcessing(); - } else { + } + else + { accept(); } } + + void exportProjectDialog::startBtnClicked() { m_ft = ProjectRenderer::NumFileFormats; @@ -290,11 +311,12 @@ if (m_multiExport==true) { - multi_render(); + multiRender(); } else { - render(prep_render()); + prepRender(); + popRender(); } } diff -Nru lmms-0.4.13-stable.git.2254/src/gui/widgets/fader.cpp lmms-0.4.14~rc1/src/gui/widgets/fader.cpp --- lmms-0.4.13-stable.git.2254/src/gui/widgets/fader.cpp 2012-11-12 01:37:20.000000000 +0000 +++ lmms-0.4.14~rc1/src/gui/widgets/fader.cpp 2012-12-10 20:13:56.000000000 +0000 @@ -1,8 +1,8 @@ /* * fader.cpp - fader-widget used in mixer - partly taken from Hydrogen * - * Copyright (c) 2008-2011 Tobias Doerffel - * + * Copyright (c) 2008-2012 Tobias Doerffel + * * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net * * This program is free software; you can redistribute it and/or @@ -45,6 +45,7 @@ */ +#include #include #include #include @@ -73,7 +74,9 @@ m_fMaxPeak( 1.1 ), m_back( embed::getIconPixmap( "fader_background" ) ), m_leds( embed::getIconPixmap( "fader_leds" ) ), - m_knob( embed::getIconPixmap( "fader_knob" ) ) + m_knob( embed::getIconPixmap( "fader_knob" ) ), + m_moveStartPoint( -1 ), + m_startValue( 0 ) { if( s_textFloat == NULL ) { @@ -107,35 +110,67 @@ -void fader::mouseMoveEvent( QMouseEvent *ev ) +void fader::mouseMoveEvent( QMouseEvent *mouseEvent ) { - float fVal = (float)( height() - ev->y() ) / (float)height(); - fVal = fVal * ( m_model->maxValue() - m_model->minValue() ); + if( m_moveStartPoint >= 0 ) + { + int dy = m_moveStartPoint - mouseEvent->globalY(); - fVal = fVal + m_model->minValue(); + float delta = dy * ( m_model->maxValue() - m_model->minValue() ) / (float) ( height() - m_knob.height() ); - m_model->setValue( fVal ); + model()->setValue( m_startValue + delta ); - updateTextFloat(); + updateTextFloat(); + } } -void fader::mousePressEvent( QMouseEvent * _me ) +void fader::mousePressEvent( QMouseEvent* mouseEvent ) { - if( _me->button() == Qt::LeftButton && - ! ( _me->modifiers() & Qt::ControlModifier ) ) + if( mouseEvent->button() == Qt::LeftButton && + ! ( mouseEvent->modifiers() & Qt::ControlModifier ) ) { - updateTextFloat(); - s_textFloat->show(); + if( mouseEvent->y() >= knobPosY() - m_knob.height() && mouseEvent->y() < knobPosY() ) + { + updateTextFloat(); + s_textFloat->show(); - mouseMoveEvent( _me ); - _me->accept(); + m_moveStartPoint = mouseEvent->globalY(); + m_startValue = model()->value(); + + mouseEvent->accept(); + } + else + { + m_moveStartPoint = -1; + } } else { - AutomatableModelView::mousePressEvent( _me ); + AutomatableModelView::mousePressEvent( mouseEvent ); + } +} + + + +void fader::mouseDoubleClickEvent( QMouseEvent* mouseEvent ) +{ + bool ok; + + // TODO: dbV handling + int newValue = QInputDialog::getInteger( this, windowTitle(), + tr( "Please enter a new value between %1 and %2:" ). + arg( model()->minValue()*100 ). + arg( model()->maxValue()*100 ), + model()->value()*100, + model()->minValue()*100, + model()->maxValue()*100, 1, &ok ); + + if( ok ) + { + model()->setValue( newValue / 100.0f ); } } @@ -153,11 +188,11 @@ if ( ev->delta() > 0 ) { - m_model->incValue( 5 ); + m_model->incValue( 1 ); } else { - m_model->incValue( -5 ); + m_model->incValue( -1 ); } updateTextFloat(); s_textFloat->setVisibilityTimeOut( 1000 ); @@ -225,7 +260,7 @@ { s_textFloat->setText( QString("Volume: %1 %").arg( m_model->value() * 100 ) ); } - s_textFloat->moveGlobal( this, QPoint( width() - m_knob.width() - 5, knob_y() - 46 ) ); + s_textFloat->moveGlobal( this, QPoint( width() - m_knob.width() - 5, knobPosY() - 46 ) ); } @@ -268,18 +303,7 @@ } // knob - static const uint knob_height = 29; - static const uint knob_width = 15; - - float fRange = m_model->maxValue() - m_model->minValue(); - - float realVal = m_model->value() - m_model->minValue(); - -// uint knob_y = (uint)( 116.0 - ( 86.0 * ( m_model->value() / fRange ) ) ); - uint knob_y = (uint)( 116.0 - ( 86.0 * ( realVal / fRange ) ) ); - - - painter.drawPixmap( QRect( 4, knob_y - knob_height, knob_width, knob_height), m_knob, QRect( 0, 0, knob_width, knob_height ) ); + painter.drawPixmap( 4, knobPosY() - m_knob.height(), m_knob ); } diff -Nru lmms-0.4.13-stable.git.2254/tests/README lmms-0.4.14~rc1/tests/README --- lmms-0.4.13-stable.git.2254/tests/README 2012-11-12 01:30:12.000000000 +0000 +++ lmms-0.4.14~rc1/tests/README 1970-01-01 00:00:00.000000000 +0000 @@ -1,5 +0,0 @@ -test-files and their MD5 sums go here - -16a41b09841f6893c6a621f3e7c63692 emptyproject.wav - - diff -Nru lmms-0.4.13-stable.git.2254/tests/emptyproject.mmp lmms-0.4.14~rc1/tests/emptyproject.mmp --- lmms-0.4.13-stable.git.2254/tests/emptyproject.mmp 2012-11-12 01:37:20.000000000 +0000 +++ lmms-0.4.14~rc1/tests/emptyproject.mmp 1970-01-01 00:00:00.000000000 +0000 @@ -1,279 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -