--- lmms-0.2.1/ChangeLog 2006-07-27 13:51:57.000000000 +0200 +++ lmms-0.3.0/ChangeLog 2007-08-20 14:12:05.000000000 +0200 @@ -1,3 +1,3083 @@ +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_bas:e/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 neccessary + +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 + neccessary 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: @@ -1094,7 +4174,7 @@ * plugins/flp_import/flp_import.cpp: improvements for having a working flp-filter as soon as possible -2005-03-28 Danny McRae +2006-03-28 Danny McRae * src/lib/sample_buffer.cpp: corrected miscalculation of buffer size in resample @@ -1121,7 +4201,7 @@ support for default-velocity for MIDI-in and/or -out-events - useful when recording with constant velocity -2005-03-26 Danny McRae +2006-03-26 Danny McRae * plugins/vibed/: added "Vibed"-plugin, a powerful combination of PluckedStringSynth and