RemoteVstPlugin: fixed too short arrays for preset names
[lmms.git] / ChangeLog.old
blobeace201c6826a30026f1ffbfd126f6af795c6aea
1 2009-03-5       Andrew Kelley   <superjoe30/at/gmail/dot/com>
3         * plugins/triple_oscillator/artwork.png:
4         * plugins/triple_oscillator/triple_oscillator.cpp:
5         * plugins/triple_oscillator/triple_oscillator.h:
6         * plugins/triple_oscillator/artwork-dev/artwork.xcf:
7         - added Phase Randomness knob to tripleoscillator
8         - added artwork-dev folder so it's easier to edit artwork
10 2009-02-24      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
12         * plugins/zynaddsubfx/src/Params/PresetsStore.C:
13         * plugins/zynaddsubfx/src/Synth/OscilGen.C:
14         * plugins/zynaddsubfx/src/UI/OscilGenUI.cc:
15         * plugins/zynaddsubfx/src/UI/OscilGenUI.fl:
16         follow recent changes in ZynAddSubFX CVS:
17         - Fix improper deallocation in PresetsStore
18         - Fixed errors with drawing of the Oscillator as reported with valgrind
20         * CMakeLists.txt:
21         * data/presets/CMakeLists.txt:
22         * plugins/CMakeLists.txt:
23         * plugins/zynaddsubfx/zynaddsubfx.cpp:
24         * plugins/zynaddsubfx/CMakeLists.txt:
25         integrated ZynAddSubFX plugin from LMMS-extras into LMMS mainline
27 2009-02-23      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
29         * cmake/modules/FindSTK.cmake:
30         * CMakeLists.txt:
31         reflect changes in MinGW crosscompiling environment, typo fixes
33 2009-02-21      Paul Giblock <drfaygo/at/gmail/dot/com>
35         * include/cusis_style.h:
36         * src/gui/cusis_style.cpp:
37         Make ScrollBar-hover work again in Qt-4.5
39 2009-02-20      Paul Giblock <drfaygo/at/gmail/dot/com>
41         * include/gui/tracks/pattern_item.h:
42         * include/gui/tracks/track_content_object_item.h:
43         * include/gui/tracks/track_item.h:
44         * include/gui/tracks/track_container_scene.h:
45         * include/gui/tracks/bb_tco_item.h:
46         * src/gui/classic_style.cpp:
47         * src/gui/tracks/track_content_object_item.cpp:
48         * src/gui/tracks/track_item.cpp:
49         * src/gui/tracks/track_container_scene.cpp:
50         * src/gui/tracks/bb_tco_item.cpp:
51         * src/gui/tracks/pattern_item.cpp:
52         Fix File headers
54         * src/gui/cusis_style.cpp:
55         Fix cache collision bug 
57         * src/gui/tracks/pattern_item.cpp:
58         Place marks once-per-tact
60         * src/gui/tracks/bb_tco_item.cpp:
61         * src/gui/tracks/track_content_object_item.cpp:
62         * src/gui/cusis_style.cpp:
63         Add per-TCO coloring and non-linear motion when dragging
65         * src/gui/classic_style.cpp:
66         Fix text clipping
68         * gui/lfo_controller_dialog.cpp:
69         QT4.5 fixes our error where Controllers couldn't have backgrounds,
70         re-add artwork.
72 2009-02-19      Paul Giblock <drfaygo/at/gmail/dot/com>
73         
74         * include/track.h:
75         * include/pattern.h:
76         Fixed constness
78         * include/lmms_style.h:
79         * include/classic_style.h:
80         * include/cusis_style.h:
81         * src/gui/tracks/track_content_object_item.cpp:
82         * src/gui/tracks/bb_tco_item.cpp:
83         * src/gui/tracks/pattern_item.cpp:
84         Move TCO drawing into LMMS style
86         * include/lcd_spinbox.h:
87         * include/combobox.h:
88         Update copyright
90         * include/gui/tracks/pattern_item.h:
91         * include/gui/tracks/track_content_object_item.h:
92         * include/gui/tracks/track_item.h:
93         * include/gui/tracks/track_container_scene.h:
94         * include/gui/tracks/bb_tco_item.h:
95         * src/gui/tracks/track_content_object_item.cpp:
96         * src/gui/tracks/track_item.cpp:
97         * src/gui/tracks/track_container_scene.cpp:
98         * src/gui/main_window.cpp:
99         Code style and cleanup
101         * src/gui/main_window.cpp:
102         Update for model move and resize
104         * src/gui/classic_style.cpp:
105         Add Classic TCO style back, unoptimized at the moment
107         * src/gui/cusis_style.cpp:
108         Move Shiny-TCO to Cusis and add pixmap caching
110 2009-02-19      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
112         * include/fade_button.h:
113         * src/gui/widgets/fade_button.cpp:
114         rewrote timing of fading animation for not postponing updates of
115         hidden fadeButton until it becomes visible
117         * src/gui/widgets/automatable_button.cpp:
118         * src/core/track.cpp:
119         make sure all buttons in trackOperationsWidget have focus-policy
120         set to Qt::NoFocus in order to make space play song even if you clicked
121         e.g. a mute-button (closes #2486211)
123         * include/note.h:
124         * src/core/note.cpp:
125         - coding style fixes
126         - improved handling of shared detuningHelper object
128         * include/instrument_track.h:
129         * include/piano_roll.h:
130         * src/gui/piano_roll.cpp:
131         * src/gui/song_editor.cpp:
132         * src/tracks/instrument_track.cpp:
133         fixed various bugs regarding recording:
134         - once recording has been started, stop it as soon as playMode of song
135           changes or similiar things happen (closes #2486341)
136         - fixed broken record-accompany in most use-cases other than using
137           record-while-playing-song by also tracking NoteOn events and remember
138           current play position to use the correct note postitions on NoteOff
139           events (play position might have wrapped around in the meantime due
140           to looppoints or end of BB track) (closes #2486299, #2486203)
141         - move timeLine marker in Piano Roll and autoscroll when recording while
142           playing song (closes #2486334)
144 2009-02-14      Andrew Kelley   <superjoe30/at/gmail/dot/com>
146         * src/gui/dialogs/about_dialog.ui:      
147         updated copyright and added plug to ##lmms per skiessi's request
149 2009-02-14      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
151         * src/3rdparty/samplerate/samplerate.h:
152         reverted rev 2037 as we have custom changes in this file
154 2009-02-13      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
156         * include/pattern.h:
157         * src/tracks/pattern.cpp:
158         - added missing slot declaration for abortFreeze(), fixes lockup when
159           freezing pattern (closes #2530320)
160         - update patternView after freezing
161         - fixed drawing of frozen pattern
163         * include/sample_buffer.h:
164         * src/core/sample_buffer.cpp:
165         - when resampling whole sampleBuffer, set end_of_input = 1 in
166           libsamplerate data struct - fixes lots of zero samples at the end
167           of output buffer (closes #2531452)
168         - coding style fixes
169         - removed obsolete save/restore of EOF-property in libsample rate
170           data struct when resampling successively (always use 0)
172         * src/3rdparty/samplerate/src_linear.c:
173         * src/3rdparty/samplerate/samplerate.h:
174         * src/3rdparty/samplerate/src_sinc.c:
175         * src/3rdparty/samplerate/src_zoh.c:
176         * src/3rdparty/samplerate/samplerate.c:
177         * CMakeLists.txt:
178         integrated latest libsamplerate which is both faster and more reliable
180         * src/gui/widgets/visualization_widget.cpp:
181         disable output monitor per default and show click-hint
183         * include/side_bar.h:
184         * include/kmultitabbar.h:
185         * include/file_browser.h:
186         * include/piano_roll.h:
187         * include/track_container_view.h:
188         * include/main_window.h:
189         * include/fx_mixer_view.h:
190         * include/automation_editor.h:
191         * include/plugin_browser.h:
192         * include/side_bar_widget.h:
193         * src/gui/piano_roll.cpp:
194         * src/gui/track_container_view.cpp:
195         * src/gui/plugin_browser.cpp:
196         * src/gui/fx_mixer_view.cpp:
197         * src/gui/main_window.cpp:
198         * src/gui/song_editor.cpp:
199         * src/gui/file_browser.cpp:
200         * src/gui/resources_tree_view.cpp:
201         * src/gui/automation_editor.cpp:
202         * src/gui/bb_editor.cpp:
203         * src/core/engine.cpp:
204         initial support for use of FLUIQ by LMMS - will need lots of tuning
205         until it gets usable
207         * src/gui/widgets/combobox.cpp:
208         * src/gui/widgets/tab_widget.cpp:
209         * src/gui/widgets/envelope_and_lfo_view.cpp:
210         * src/gui/widgets/group_box.cpp:
211         * src/gui/widgets/lcd_spinbox.cpp:
212         * src/gui/widgets/controller_view.cpp:
213         * src/gui/widgets/effect_rack_view.cpp:
214         * src/core/track.cpp:
215         reverted some of the changes from 2008-11-10 which caused distorted
216         graphics when running LMMS with Qt 4.5
218 2009-02-12      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
220         * src/gui/fluiq/collapsible_widget.cpp:
221         do not hide menus when collapsing widget
223         * src/gui/automation_editor.cpp:
224         * include/automation_editor.h:
225         * include/piano_roll.h:
226         more coding style fixes
228         * cmake/modules/Win32Toolchain.cmake:
229         reflect recent changes to MinGW cross compiling environment
231         * plugins/sf2_player/sf2_player.cpp:
232         update patch after loading settings (closes #2486372)
234         * src/gui/piano_roll.cpp:
235         - ensure, cursor is never NULL when painting it in paintEvent()
236         - a lot of coding style fixes
238         * src/core/sample_buffer.cpp:
239         do not load samples bigger than 100 MB (closes #2458375)
241 2009-02-11      Andrew Kelley   <superjoe30/at/gmail/dot/com>
242         
243         * src/gui/main_window.cpp:
244         * TODO:
245         global playback buttons have more user friendly behavior
247 2009-02-10      Paul Giblock <drfaygo/at/gmail/dot/com>
248         
249         * include/gui:
250         * include/gui/tracks:
251         * include/gui/tracks/track_content_object_item.h:
252         * include/gui/tracks/track_item.h:
253         * include/gui/tracks/track_container_scene.h:
254         * include/track_container.h:
255         * include/track.h:
256         * src/gui/tracks:
257         * src/gui/tracks/track_content_object_item.cpp:
258         * src/gui/tracks/track_item.cpp:
259         * src/gui/tracks/track_container_scene.cpp:
260         * src/gui/main_window.cpp:
261         * src/core/track_container.cpp:
262         * src/core/track.cpp:
263         - Commit initial version of QGraphicsScene-based Song Editor
264         - Please save bugreports for another week or so, this is immature code
266         * src/gui/tracks/track_content_object_item.cpp:
267         * src/gui/tracks/track_item.cpp:
268         * src/gui/tracks/bb_tco_item.cpp:
269         * src/gui/tracks/pattern_item.cpp:
270         * include/gui/tracks/pattern_item.h:
271         * include/gui/tracks/bb_tco_item.h:
272         * src/gui/main_window.cpp:
273         - Add BB and Pattern subclasses
274         - Play with some styling, about to move style code into lmmsStyle
275         - Add Caching support, but will soon expand with manual-QPixmapCache usage
276           to share common-TCO pixmaps between TCOs.
277         - Fix tickmarks on BB-TCOs
279 2009-02-09      Paul Giblock <drfaygo/at/gmail/dot/com>
281         * include/basic_filters.h:
282         Fix off-by-one enumeration problem with new RC filters
284 2009-02-08      Paul Giblock <drfaygo/at/gmail/dot/com>
286         * src/core/instrument_sound_shaping.cpp:
287         * include/basic_filters.h:
288         - patch in Stefan Fendt's RC filters, updated for HEAD
289         - fix code style on new source
291 2009-02-05      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
293         * plugins/ladspa_effect/caps/dsp/Eq.h:
294         better workaround for optimizer bug in GCC >= 4.3
296         * plugins/sid/sid_instrument.cpp:
297         * plugins/flp_import/unrtf.cpp:
298         * src/core/track.cpp:
299         added missing header for compilation with GCC 4.4
301         * include/pattern.h:
302         * src/tracks/pattern.cpp:
303         cleanups
305         * src/core/envelope_and_lfo_parameters.cpp:
306         - simplified formulas for calculating envelope array resulting in about
307           3x performance with traditional FPU code
308         - loops now can be vectorized by GCC 4.4
310         * include/mixer.h:
311         * include/audio_port.h:
312         * src/core/mixer.cpp:
313         reworked mixer-threads (synchronization, realization of jobqueue etc.)
314         which results in a much better performance and stability
316 2009-02-04      Andrew Kelley   <superjoe30/at/gmail/dot/com>
318         * src/gui/piano_roll.cpp:
319         * TODO:
320         fixed bug: you can use shift+left to move notes past the beginning
322 2009-02-02      Andrew Kelley   <superjoe30/at/gmail/dot/com>
324         * include/main_window.h:
325         * src/gui/main_window.cpp:
326         - fixed bug: piano roll was still recording when not in record mode
327         - use the key L to cycle through playback modes. (this is
328           consistent with FL Studio)
330 2009-02-01      Andrew Kelley   <superjoe30/at/gmail/dot/com>
332         * include/piano_roll.h:
333         * include/song_editor.h:
334         * include/main_window.h:
335         * src/gui/piano_roll.cpp:
336         * src/gui/main_window.cpp:
337         * src/gui/song_editor.cpp:
338         * src/gui/bb_editor.cpp:
339         * TODO:
340         Added global playback support. Press space to play/pause from any
341         window in LMMS.
343 2009-02-01      Andrew Kelley   <superjoe30/at/gmail/dot/com>
345         * src/core/track.cpp:
346         integrated pitanga's patch to fix unquantized BB dragging in 
347         song editor. Changed ctrl modifier to alt to be consistent.
349 2009-02-01      Andrew Kelley   <superjoe30/at/gmail/dot/com>
351         * plugins/flp_import/flp_import.cpp:
352         * plugins/flp_import/flp_import.h:
353         * src/core/song.cpp:
354         * include/import_filter.h:
355         - flp import filter will look in the same directory as the
356           .flp file for samples if it cannot find them elsewhere
357         - added a zip import filter, which imports FLP zipped packages
358         - I tried not to change the import filter API but I needed
359           to be able to set which file was being imported. it is a
360           small addition to the API and I think it is acceptable.
361         
362         * cmake/modules/FindZIP.cmake:
363         * lmmsconfig.h.in:
364         * CMakeLists.txt:
365         added an optional dependency on libzip for importing
366         the above mentioned .zip loop files
368         * configure:
369         added helpful tip
371 2009-01-31      Paul Giblock <drfaygo/at/gmail/dot/com>
372         
373         * src/gui/cusis_style.cpp:
374         Scrollbar slider now highlights properly on hover
376 2009-01-29      Paul Giblock <drfaygo/at/gmail/dot/com>
378         * src/tracks/pattern.cpp:
379         Code style
381         * src/gui/cusis_style.cpp:
382         * include/cusis_style.h:
383         Fix blending aronund scrollbar buttons
385 2009-01-28      Paul Giblock <drfaygo/at/gmail/dot/com>
387         * src/gui/embed.cpp:
388         Cache pixmaps instead of loading new ones each time
390         * include/engine.h:
391         * include/lmms_style.h:
392         * include/classic_style.h:
393         * src/gui/classic_style.cpp:
394         * src/gui/lmms_style.cpp:
395         * src/core/engine.cpp:
396         * src/core/main.cpp:
397         - Add LmmsStyle class for centralizing palette and drawing.  It isn't
398           perfect, but at least most interesting stylables are in one place now.
400         * include/track.h:
401         * src/core/track.cpp:
402         * src/gui/track_container_view.cpp:
403         Properly update track backgrounds when realigning tracks
405         * src/gui/widgets/fader.cpp:
406         Make fader size flexible
408         * src/gui/widgets/controller_rack_view.cpp:
409         * src/gui/widgets/effect_rack_view.cpp:
410         Prevent Horizontal scroll bars from appearing in some cases
412         * src/gui/piano_roll.cpp:
413         * src/gui/widgets/visualization_widget.cpp:
414         Plug memory leaks
416         * src/gui/fx_mixer_view.cpp:
417         * src/gui/widgets/combobox.cpp:
418         * srg/gui/widgets/graph.cpp:
419         * src/gui/widgets/visualization_widget.cpp:
420         * src/gui/widgets/led_checkbox.cpp:
421         * src/gui/widgets/envelope_and_lfo_view.cpp:
422         * src/gui/widgets/lcd_spinbox.cpp:
423         * src/gui/widgets/text_float.cpp:
424         * src/gui/widgets/controller_view.cpp:
425         * src/gui/widgets/effect_view.cpp:
426         * src/gui/widgets/project_notes.cpp:
427         * src/core/track.cpp:
428         * src/gui/piano_roll.cpp:
429         * src/core/timeline.cpp:
430         - Begin themeing widgets with the new LmmsStyle interface
431         - Minor tweaks and code style improvements
433         * src/gui/widgets/envelope_and_lfo_view.cpp:
434         Fix backwards Color-to-gray in env and LFO graphs
436         * src/core/track.cpp:
437         * src/gui/fx_mixer_view.cpp:
438         * src/gui/classic_style.cpp:
439         Attempt to fix Skiessi's gfx bugs
441         * include/cusis_style.h:
442         * src/gui/cusis_style.cpp:
443         Pull Cusis-style class into SVN
445         * data/themes/cusis:
446         * data/themes/cusis/led_off.png:
447         * data/themes/cusis/scrollarea_corner.png:
448         * data/themes/cusis/style.css:
449         * data/themes/cusis/toolbar_bg.png:
450         * data/themes/cusis/effect_plugin.png:
451         * data/themes/cusis/main_toolbar_bg.png:
452         * data/themes/cusis/fader_background.png:
453         * data/themes/cusis/combobox_bg.png:
454         * data/themes/cusis/combobox_arrow.png:
455         * data/themes/cusis/led_green.png:
456         * data/themes/cusis/fader_leds.png:
457         * data/themes/cusis/fader_knob.png:
458         * data/themes/cusis/combobox_arrow_selected.png:
459         * data/themes/cusis/controller_bg.png:
460         Add Cusis-theme artwork
462         * data/themes/cusis/theme.xml:
463         * data/themes/default/theme.xml:
464         * src/core/main.cpp:
465         - Add xml files for specifying styles and optional parameters
466         - However, we pick the class based on artworkDir path for now...
468         * src/tracks/pattern.cpp:
469         More widgets customized
471 2009-01-26      Paul Giblock <drfaygo/at/gmail/dot/com>
473         * src/tracks/bb_track.cpp:
474         Integrate broken BB-clone bug from pitanga
476 2009-01-25      Paul Giblock <drfaygo/at/gmail/dot/com>
478         * src/gui/widgets/knob.cpp:
479         Fix infinite recursion on Mac OSX
481         * plugins/flp_import/unrtf/html.c:
482         * plugins/flp_import/unrtf/output.h:
483         * plugins/flp_import/unrtf/convert.c:
484         Avoid compile warnings
486 2009-01-03      Paul Giblock <drfaygo/at/gmail/dot/com>
488         * src/gui/widgets/automatable_button.cpp:
489         fix drag support for button groups
491 2008-12-22      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
493         * CMakeLists.txt:
494         fixed plugins/ directory when updating localization file
496         * plugins/flp_import/flp_import.cpp:
497         in FL_EffectChannel initialize isMuted member - fixes muted FX channels
498         when importing older FLP files
500 2008-12-19      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
502         * plugins/vst_base/vst_plugin.h:
503         * plugins/vst_base/vst_plugin.cpp:
504         * plugins/vst_effect/vst_effect_control_dialog.cpp:
505         * plugins/vst_effect/vst_effect.cpp:
506         * plugins/vestige/vestige.cpp:
507         fixed crash when adding VST effects
509         * include/project_version.h:
510         * src/core/project_version.cpp:
511         fixed broken version comparing which indicated 0.x.y to be less than
512         0.x.y-patch - fixes messed up projects when loading files created
513         with LMMS 0.4.0
515 2008-12-17      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
517         * cmake/modules/FindSTK.cmake:
518         * include/combobox_model.h:
519         * include/combobox.h:
520         * src/core/config_mgr.cpp:
521         * data/CMakeLists.txt:
522         * CMakeLists.txt:
523         added STK support to win32 version of LMMS
525 2008-12-16      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
527         * plugins/sf2_player/sf2_player.cpp:
528         * plugins/sf2_player/sf2_player.h:
529         fixed broken panning support
531         * include/instrument.h:
532         * include/note_play_handle.h:
533         * src/core/note_play_handle.cpp:
534         * src/tracks/instrument_track.cpp:
535         reverted previous API changes as they can be implemented in a
536         generic manner
538         * src/tracks/instrument_track.cpp:
539         * include/instrument_track.h:
540         - do not create a instrument track window just for calling
541           dragEnterEvent() - use a static method instead
542         - limit panning in processAudioBuffer()
544 2008-12-16      Andrew Kelley   <superjoe30/at/gmail/dot/com>
546         * src/gui/piano_roll.cpp:
547         * src/gui/automatable_model_view.cpp:
548         * src/gui/song_editor.cpp:
549         * src/gui/widgets/combobox.cpp:
550         * src/gui/widgets/knob.cpp:
551         * src/gui/widgets/automatable_slider.cpp:
552         * src/gui/widgets/lcd_spinbox.cpp:
553         * src/gui/widgets/fader.cpp:
554         * src/gui/widgets/automatable_button.cpp:
555         * src/gui/automation_editor.cpp:
556         * src/tracks/sample_track.cpp:
557         * src/tracks/pattern.cpp:
558         * src/core/timeline.cpp:
559         * src/core/track.cpp:
560         * src/core/piano.cpp:
561         changed modifier detection from mainWindow::isCtrlPressed etc to
562         Qt framework detection. Fixes a bunch of little glitches and
563         enables horizontal scroll wheels.
565         * plugins/sf2_player/sf2_player.cpp:
566         * plugins/sf2_player/sf2_player.h:
567         * include/note_play_handle.h:
568         * src/core/note_play_handle.cpp:
569         * include/instrument.h:
570         * src/tracks/instrument_track.cpp:
571         experimental support for note panning in SF2 player (I'm not sure
572         what m_maxChannels should be or how to find it out. I just picked
573         what worked for my setup.)
575 2008-12-15      Paul Giblock <drfaygo/at/gmail/dot/com>
577         * src/core/track.cpp:
578         * include/track.h:
579         Cache background per-object instead of per-class.
581 2008-12-15      Andrew Kelley   <superjoe30/at/gmail/dot/com>
583         * include/piano_roll.h:
584         * src/gui/piano_roll.cpp:
585         - if you move or resize a single note, it is deselected after the move 
586           to allow note editing
587         - if you pressed both controls at the same time, the piano roll would 
588           get stuck in selection mode (FIXED)
589         - shift drag on an unselected note didn't work (FIXED)
590         - added a note detuning tool
591         - fixed mouse cursor glitch when mousing over notes
592         - shift+drag didn't update beat+bassline (FIXED)
593         - if a different window was selected and you hold control and then
594           click in the piano roll, it didn't do selection like it should (FIXED)
595         
596         * src/tracks/instrument_track.cpp:
597         fixed crash in processAudioBuffer when notePlayHandle was NULL
598         (crashed certain instruments like sf2)
600 2008-12-14      Andrew Kelley   <superjoe30/at/gmail/dot/com>
602         * include/piano_roll.h:
603         * src/gui/piano_roll.cpp:
604         - double click in the note edit area to clear selected notes(allowing
605           you to edit note velocities/panning for all notes)
606         - when setting a new note, set panning and volume to that of last
607           clicked on note
609 2008-12-14      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
611         * CMakeLists.txt:
612         - require at least CMake 2.6.0
613         - require at least Qt 4.4.0
615         * include/piano_roll.h:
616         * src/gui/piano_roll.cpp:
617         - improved colors for drawing notes
618         - coding style fixes
619         - added Andrew as copyright holder
620         - cleanups
622 2008-12-14      Andrew Kelley   <superjoe30/at/gmail/dot/com>
624         * include/piano_roll.h:
625         * src/gui/piano_roll.cpp:
626         * TODO:
627         - piano roll notes are painted with colors revealing their velocities
628           and panning
629         - switching between note edit modes is more clear with label text and
630           a right click menu
631         - note volume bars are painted blue if selected
632         - dragging around a note in the piano roll makes the correct volume
633           and panning noises
634         - fixed Ctrl+Scroll to zoom in
635         
636         * include/panning.h:
637         added panningToMidi function to easily convert panning to a midi value
639 2008-12-14      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
641         * include/group_box.h:
642         added NULL as default argument for parent
644         * include/effect_rack_view.h:
645         * src/gui/widgets/effect_rack_view.cpp:
646         manage effectRackView with a QVBoxLayout
648         * include/fluiq/collapsible_widget.h:
649         * include/fluiq/splitter.h:
650         * include/fluiq/workspace.h:
651         * src/gui/fluiq/collapsible_widget.cpp:
652         * src/gui/fluiq/splitter.cpp:
653         * src/gui/fluiq/widget_container.cpp:
654         * src/gui/fluiq/workspace.cpp:
655         some work on a better widget layouting and more usable splitters in
656         combination with CollapsibleWidgets
658         * src/core/config_mgr.cpp:
659         * src/core/main.cpp:
660         * src/core/mmp.cpp:
661         * src/gui/about_dialog.cpp:
662         * src/gui/main_window.cpp:
663         * lmmsversion.h.in:
664         * CMakeLists.txt:
665         moved version information into separate header file to avoid
666         the necessity of a complete recompile each time SVN revision changes
668         * include/midi.h:
669         - added support for MidiMetaEvents to midiEvent
670         - added MidiMetaPanning event
672 2008-12-13      Andrew Kelley   <superjoe30/at/gmail/dot/com>
674         * include/piano_roll.h:
675         * src/gui/piano_roll.cpp:
676         * src/tracks/instrument_track.cpp:
677         * TODO:
678         - first draft of panning editing. (for now, click the area below 
679           the piano to switch editing modes.)
680         - supports horizontal mouse wheel
681         - paint notes darker/lighter based on how much volume they have
682          
683         * include/panning_constants.h:
684         * include/midi.h:
685         * include/panning.h:
686         - separated panning constants from panningToVolumeVector so that midi.h
687           could have access to PanningLeft, PanningRight, etc
688         - added MidiNotePanning meta midi instruction to allow on the fly
689           panning changes to instrument notes 
691 2008-12-12      Andrew Kelley   <superjoe30/at/gmail/dot/com>
693         * include/note.h:
694         * src/core/note.cpp:
695         * include/piano_roll.h:
696         * src/gui/piano_roll.cpp:
697         * TODO:
698         - editing note volume and hearing clicked on notes
699           is implemented more cleanly
700         - editing note volume only affects selected notes (or all notes if
701           none selected)
702         - clicking a note volume no longer affects the nearest volume handle.
703           Instead, select the note(s) whose volumes you want to change and then
704           scribble their volumes.
705         - when "scribbling" note volumes, if there is a chord, it will play all
706           3 notes, rather than just the first one
707         - if you click towards the end of the key in the piano roll, it plays
708           the note louder than if you play it towards the base
709         - note edit area has adjustable height
711 2008-12-11      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
713         * include/automation_pattern.h:
714         * src/core/automation_pattern.cpp:
715         do not disable automation when just editing first point of an
716         automation pattern (closes #2146230)
718         * include/automation_pattern_view.h:
719         * src/gui/automation_pattern_view.cpp:
720         splitted view component out of automation_pattern.*
722 2008-12-10      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
724         * plugins/vst_base/communication.h:
725         * plugins/vst_base/vst_plugin.cpp:
726         * plugins/vst_base/remote_vst_plugin.cpp:
727         rewrote wide parts of LVSL backend:
728         - now supports two threading models which makes LMMS support plugins
729           like Sytrus, z3ta+ etc.
730         - on win32 create native widget as parent for plugin's GUI, fixes
731           warning message when loading KarmaSynth (closes #2276787)
732         - try more symbol names for entry procedure
734         * include/aeffectx.h:
735         - made "int"s to "const int"s
736         - added CCONST macro
738         * include/remote_plugin.h:
739         * src/core/remote_plugin.cpp:
740         added support for debug messages from remote plugin
742 2008-12-08      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
744         * plugins/vst_base/vst_plugin.cpp:
745         win32-version: fixed crash when using VST plugins without GUI
747         * include/effect_chain.h:
748         export effectChain for properly building FLP import DLL
750 2008-12-08      Andrew Kelley   <superjoe30/at/gmail/dot/com>
751         
752         * src/gui/piano_roll.cpp:
753         - ability to scroll left and right while using ctrl to select notes
754         - disabled volume bar changes while dragging a selection
755         - can select notes even if you can't see them
757 2008-12-08      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
759         * src/core/resources_tree_model.cpp:
760         return appropriate icon for Qt::DecorationRole
762         * data/themes/default/mimetypes/plugin.png:
763         * data/themes/default/mimetypes/unknown.png:
764         * data/themes/default/mimetypes/folder-datadir.png:
765         * data/themes/default/mimetypes/sample.png:
766         * data/themes/default/mimetypes/image.png:
767         * data/themes/default/mimetypes/midi.png:
768         * data/themes/default/mimetypes/preset.png:
769         * data/themes/default/mimetypes/folder-lsp.png:
770         * data/themes/default/mimetypes/folder-workingdir.png:
771         * data/themes/default/mimetypes/folder.png:
772         added new icons for various MIME types
774         * include/resources_db.h:
775         * src/core/resources_db.cpp:
776         added ResourcesDB::Item::TypeMidiFile
778         * include/fluiq/collapsible_widget.h:
779         * include/fluiq/splitter.h:
780         * include/fluiq/widget.h:
781         * include/fluiq/widget_container.h:
782         * include/fluiq/workspace.h:
783         * src/gui/fluiq/collapsible_widget.cpp:
784         * src/gui/fluiq/splitter.cpp:
785         * src/gui/fluiq/widget.cpp:
786         * src/gui/fluiq/widget_container.cpp:
787         * src/gui/fluiq/workspace.cpp:
788         * data/themes/default/fluiq/arrow-down.png:
789         * data/themes/default/fluiq/arrow-right.png:
790         * CMakeLists.txt:
791         added initial draft of FLUIQ (Flexible User-Interface with Qt)
792         framework (integration patches will follow later)
794 2008-12-07      Andrew Kelley   <superjoe30/at/gmail/dot/com>
796         * src/gui/piano_roll.cpp:
797         (hopefully) fixed bug where shift+drag wasn't copying notes
799         * src/core/timeline.cpp:
800         * include/song_editor.h:
801         * src/gui/song_editor.cpp:
802         - auto-scroll default to disabled
803         - fixed glitch where it would auto-scroll even if it was off in
804           song-editor
805         
806         * src/gui/main_window.cpp:
807         worked on global playback/record options in the toolbar. This code
808         is still commented out though.
810 2008-12-05      Andrew Kelley   <superjoe30/at/gmail/dot/com>
812         * include/piano_roll.h:
813         * src/core/piano_roll.cpp:
814         - don't play notes when you click on one if the song is already playing
815         - now you can move and resize unquantized notes in quantized amounts
816         - shift+drag to copy one or more notes (we need to figure out some other
817           way to implement note detuning)
818         - removed stagnant note movement code 
819         - dragging a group of notes to boundary conditions is handled correctly
820         - ability to scroll using arrow keys while dragging notes
821         
822         * include/note.h:
823         * src/core/note.cpp:
824         refactored code (inline setXXX, etc)
825         
826         * include/song.h:
827         * include/song_editor.h:
828         * src/gui/song_editor.cpp:
829         * include/main_window.h:
830         * src/gui/main_window.cpp:
831         moved main window toolbar code from songEditor to mainWindow
833 2008-12-04      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
835         * CMakeLists.txt:
836         automatically include SVN revision into version number if
837         VERSION_SUFFIX is not set
839         * src/core/basic_ops_x86_mmx.s:
840         * src/core/basic_ops_x86_sse.s:
841         * src/core/basic_ops_x86_sse2.s:
842         * src/core/basic_ops_x86_64_sse.s:
843         * src/core/basic_ops_x86_64_sse2.s:
844         regenerated with latest GCC 4.4 - brings in a few more optimizations
845         as well as bugfixes
847         * plugins/vst_base/remote_vst_plugin.cpp:
848         explicitely declare updateSampleRate() and updateBufferSize() as virtual
850         * src/tracks/instrument_track.cpp:
851         decreased step-property of volumeModel and panningModel from 1.0 to 0.1
852         for allowing smoother transitions when automating etc.
854 2008-12-02      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
856         * data/locale/ja.ts:
857         * data/locale/ja.qm:
858         added Japanese localization files by
859         Keishi Suenaga <skeishi/at/yahoo/dot/co/dot/jp>
861 2008-12-01      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
863         * plugins/triple_oscillator/triple_oscillator.cpp:
864         per default play sub-octaves of first oscillator in osc 2 and 3
866 2008-11-29      Andrew Kelley   <superjoe30/at/gmail/dot/com>
868         * include/piano_roll.h:
869         * src/gui/piano_roll.cpp:
870         - when you draw a note it clears the selection and selects the new note
871         - removed the move tool, it's irrelevant now
872         - when dragging right click around to delete notes, show the eraser icon
873         - when moving a selection around, show the move icon
874         - ctrl+ up / ctrl+down arrow key to move everything up/down 12 semitones
875         - shift+left / shift+right to move all notes to the left or right
876         - make arrow keys left+right scroll
877         
878         * src/core/note.cpp:
879         got rid of warnings for copy constructor
880         
881         * TODO:
882         you know... todo stuff.
884 2008-11-29      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
886         * include/resources_tree_view.h:
887         * src/gui/resources_tree_view.cpp:
888         added ResourcesTreeView, a QTreeView implementation for
889         ResourcesTreeModel
891         * include/resources_tree_model.h:
892         * src/core/resources_tree_model.cpp:
893         added ResourcesTreeModel, a QAbstractModelItem implementation for
894         ResourcesDB
896         * include/engine.h:
897         * src/core/engine.cpp:
898         create a global ResourcesDB instance
900         * include/resources_db.h:
901         * src/core/resources_db.cpp:
902         introduced ResourcesDB class for easily managing all kind of resources
903         in the future
905 2008-11-28      Andrew Kelley   <superjoe30/at/gmail/dot/com>
907         * src/gui/piano_roll.cpp:
908         * src/core/note.cpp:
909         copy/paste selection support
910         
911         * TODO:
912         added a bunch
914 2008-11-28      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
916         * include/mmp.h:
917         * src/core/mmp.cpp:
918         - added new file typ "ResourcesDatabase"
919         - impoved code style
921         * CMakeLists.txt:
922         bumped version to 0.9.0 development series
924 2008-11-24      Andrew Kelley   <superjoe30/at/gmail/dot/com>
926         * src/core/basic_ops.cpp:
927         * include/note.h:
928         * include/pattern.h:
929         * src/tracks/pattern.cpp:
930         fixed piano roll not playing notes glitch
932 2008-11-24      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
934         * src/core/basic_ops.cpp:
935         fixed alignedMemCpyNoOpt
937         * src/core/audio/audio_alsa.cpp:
938         fixed pointer additions leading to horrible noises under certain
939         circumstances
941 2008-11-23      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
943         * src/core/basic_ops.cpp:
944         fixed compilation on x86_64
946 2008-11-22      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
948         * src/core/mixer.cpp:
949         fixed compilation on x86_64
951         * src/core/automatable_model.cpp:
952         fixed wrong logic in automatableModel::setValue() which led to bugs when
953         changing linked controls to 0
955         * src/gui/file_browser.cpp:
956         do not allow to import unhandled file types, e.g. ZynAddSubFX presets if
957         plugin is not available (closes #2326384)
959 2008-11-21      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
961         * plugins/flp_import/flp_import.h:
962         * plugins/flp_import/flp_import.cpp:
963         completely rewrote FLP import filter since it didn't work at all
964         anymore - it now doesn't create or change any things in LMMS while
965         importing and instead builds up a complete data structure first
966         which represents the FL Studio project and then creates an LMMS
967         project based upon this data structure
968         - now supports projects from FL Studio 3 to 8
969         - more verbose debug output
970         - import volume, panning, pitch and FX channel for instrument tracks
971         - import amplification, loop-mode and reverse-mode settings for
972           AudioFileProcessor
973         - import FX mixer settings and effects
974         - import automation data
975         - import channel- and pattern names
976         - import volume and panning settings of individual notes
977         - add notes of instrument layer master to each layer children for at
978           least having a complete sound - need to replace with real layering
979           support later
980         - map more instruments to various LMMS instruments
981         - fixed calculations of length and position of notes
982         - fixed importing steps/dots
983         - fixed scaling factor of various controls (arpeggio time,
984           envelope sustain and amount, filter cut/res, TripleOsc volumes etc.)
985         - if three user defined samples were found for TripleOscillator set
986           first oscillator to oscillator::SawWave
988         * plugins/flp_import/unrtf.cpp:
989         * plugins/flp_import/CMakeLists.txt:
990         * plugins/flp_import/unrtf/error.h:
991         * plugins/flp_import/unrtf/output.c:
992         * plugins/flp_import/unrtf/html.c:
993         * plugins/flp_import/unrtf/output.h:
994         * plugins/flp_import/unrtf/malloc.c:
995         * plugins/flp_import/unrtf/html.h:
996         * plugins/flp_import/unrtf/attr.c:
997         * plugins/flp_import/unrtf/parse.c:
998         * plugins/flp_import/unrtf/word.c:
999         * plugins/flp_import/unrtf/malloc.h:
1000         * plugins/flp_import/unrtf/util.c:
1001         * plugins/flp_import/unrtf/attr.h:
1002         * plugins/flp_import/unrtf/parse.h:
1003         * plugins/flp_import/unrtf/convert.c:
1004         * plugins/flp_import/unrtf/word.h:
1005         * plugins/flp_import/unrtf/util.h:
1006         * plugins/flp_import/unrtf/hash.c:
1007         * plugins/flp_import/unrtf/convert.h:
1008         * plugins/flp_import/unrtf/defs.h:
1009         * plugins/flp_import/unrtf/hash.h:
1010         * plugins/flp_import/unrtf/main.h:
1011         * plugins/flp_import/unrtf/error.c:
1012         updated to latest version of unrtf and improved string operations
1014         * src/core/main.cpp:
1015         added support for importing file from commandline
1017         * include/effect_chain.h:
1018         added method for enabling/disabling FX chain
1020         * include/file_browser.h:
1021         * src/gui/file_browser.cpp:
1022         enhanced support for importing various file types directly from browser
1024         * include/pattern.h:
1025         * src/tracks/pattern.cpp:
1026         added method for toggling steps
1028         * include/fx_mixer.h:
1029         added method for accessing FX channels
1031         * plugins/midi_import/midi_import.cpp:
1032         check for tempoAutomationPattern being NULL for not crashing when
1033         importing to BB-Editor
1035         * include/instrument_track.h:
1036         return pointers instead of references to various internal models
1038         * include/basic_filters.h:
1039         * include/bb_track_container.h:
1040         * include/instrument_track.h:
1041         * include/pattern.h:
1042         * include/track_container.h:
1043         * src/core/instrument_functions.cpp:
1044         * src/tracks/pattern.cpp:
1045         * src/gui/track_container_view.cpp:
1046         coding style fixes
1048 2008-11-13      Andrew Kelley   <superjoe30/at/gmail/dot/com>
1049         
1050         * src/gui/piano_roll.cpp:
1051         - deleted commented code that I forgot to delete earlier
1053         * TODO:
1054         merged my personal todo list with the main one
1056 2008-11-13      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
1058         * ChangeLog:
1059         again fixed syntax - please note the colons after filenames
1061 2008-11-13      Andrew Kelley   <superjoe30/at/gmail/dot/com>
1063         * include/piano_roll.h:
1064         * src/gui/piano_roll.cpp:
1065         - changed the way selection works
1066         - you can select any combination of notes
1067         - delete any combination of notes
1068         - move multiple notes at once
1069         - resize multiple notes at once
1070         - etc
1071         - hold alt to disable quantization
1073         * include/note.h:
1074         * src/core/note.cpp:
1075         - added m_selected so we know if the note is selected or not
1076         - added operator< so we can sort notes vector by start time
1078         * include/pattern.h:
1079         * src/tracks/pattern.cpp:
1080         added rearrangeAllNotes for when we move multiple notes in the piano roll 
1082         * AUTHORS:
1083         hope you don't mind :-)
1085 2008-11-10      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
1087         * src/core/track.cpp:
1088         * src/core/timeline.cpp:
1089         * src/core/piano.cpp:
1090         * src/core/automation_pattern.cpp:
1091         * src/gui/piano_roll.cpp:
1092         * src/gui/fx_mixer_view.cpp:
1093         * src/gui/widgets/track_label_button.cpp:
1094         * src/gui/widgets/visualization_widget.cpp:
1095         * src/gui/widgets/combobox.cpp:
1096         * src/gui/widgets/tab_widget.cpp:
1097         * src/gui/widgets/kmultitabbar.cpp:
1098         * src/gui/widgets/envelope_and_lfo_view.cpp:
1099         * src/gui/widgets/cpuload_widget.cpp:
1100         * src/gui/widgets/fade_button.cpp:
1101         * src/gui/widgets/lcd_spinbox.cpp:
1102         * src/gui/widgets/group_box.cpp:
1103         * src/gui/widgets/fader.cpp:
1104         * src/gui/widgets/effect_rack_view.cpp:
1105         * src/gui/widgets/effect_view.cpp:
1106         * src/gui/automation_editor.cpp:
1107         set OpaquePaintEvent attribute for all widgets where suitable - makes
1108         whole GUI less sluggish :)
1110 2008-11-10      Andrew Kelley   <superjoe30/at/gmail/dot/com>
1112         * include/piano_roll.h:
1113         * src/gui/piano_roll.cpp:
1114         - made it so you can hold right click and drag around to delete notes
1115         - changed ctrl+click from opening automation window to shift+click
1116         - hold ctrl to temporarily select the select tool
1118 2008-11-10      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
1120         * include/audio_portaudio.h:
1121         * include/lmms_basics.h:
1122         * include/fifo_buffer.h:
1123         * include/mixer.h:
1124         * include/audio_port.h:
1125         * include/audio_dummy.h:
1126         * include/basic_ops.h:
1127         * include/audio_sdl.h:
1128         * include/audio_jack.h:
1129         * include/audio_device.h:
1130         * src/core/audio/audio_device.cpp:
1131         * src/core/audio/audio_alsa.cpp:
1132         * src/core/audio/audio_file_wave.cpp:
1133         * src/core/audio/audio_sdl.cpp:
1134         * src/core/audio/audio_oss.cpp:
1135         * src/core/audio/audio_port.cpp:
1136         * src/core/audio/audio_portaudio.cpp:
1137         * src/core/audio/audio_jack.cpp:
1138         * src/core/audio/audio_pulseaudio.cpp:
1139         * src/core/basic_ops.cpp:
1140         * src/core/basic_ops_x86.c:
1141         * src/core/basic_ops_x86_mmx.s:
1142         * src/core/basic_ops_x86_sse.s:
1143         * src/core/basic_ops_x86_sse2.s:
1144         * src/core/basic_ops_x86_64_sse.s:
1145         * src/core/basic_ops_x86_64_sse2.s:
1146         * src/core/mixer.cpp:
1147         * src/core/main.cpp:
1148         * src/core/project_renderer.cpp:
1149         * src/core/fx_mixer.cpp:
1150         * plugins/ladspa_effect/ladspa_effect.cpp:
1151         * lmmsconfig.h.in:
1152         * CMakeLists.txt:
1153         experimental support for MMX/SSE/SSE2 instructions
1155 2008-11-04      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
1157         * plugins/sf2_player/sf2_player.cpp:
1158         fixed broken reference sharing
1160         * include/automatable_model.h:
1161         * src/core/automatable_model.cpp:
1162         fixed loops when adding a controller to a model which is linked to
1163         another model
1165         * src/core/effect.cpp:
1166         call saveSettings()/loadSettings() on model rather than loading/saving
1167         value directly - fixes lost automation on basic effect controls
1169 2008-10-30      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
1171         * CMakeLists.txt:
1172         made 0.4.0 release
1174         * CMakeLists.txt:
1175         - include all necessary DLLs in win64 build
1176         - fix versioning for CPack if no VERSION_SUFFIX is set
1178         * plugins/sid/sid_instrument.cpp:
1179         * plugins/papu/papu_instrument.cpp:
1180         * include/clipboard.h:
1181         include QtXml/QDomElement rather than Qt/QtXml - fixes compilation on
1182         OS X
1184 2008-10-29      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
1186         * plugins/ladspa_effect/ladspa_effect.cpp:
1187         limit processing of TAP Reflector to 192 KHz as it otherwise crashes
1189         * include/timeline.h:
1190         * src/gui/piano_roll.cpp:
1191         fixed autoscroll feature in piano-roll (closes #2204508)
1193 2008-10-28      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
1195         * CMakeLists.txt:
1196         disabled PortAudio support until a fix for the crash when accepting
1197         setup-dialog is available
1199 2008-10-27      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
1201         * data/presets/TripleOscillator/SEGuitar.xpf:
1202         * data/presets/TripleOscillator/SBass2.xpf:
1203         * data/presets/TripleOscillator/STrash.xpf:
1204         * data/presets/TripleOscillator/SString.xpf:
1205         * data/presets/TripleOscillator/SBass.xpf:
1206         added some cool presets by Skiessi
1208         * plugins/ladspa_effect/ladspa_effect.cpp:
1209         added Freeverb to blacklist as it does not work samplerate independent
1211         * cmake/modules/Win64Toolchain.cmake:
1212         * cmake/modules/DetectMachine.cmake:
1213         * cmake/modules/BuildPlugin.cmake:
1214         * plugins/ladspa_effect/swh/CMakeLists.txt:
1215         * plugins/ladspa_effect/cmt/CMakeLists.txt:
1216         * plugins/ladspa_effect/tap/CMakeLists.txt:
1217         * plugins/ladspa_effect/caps/CMakeLists.txt:
1218         * plugins/ladspa_effect/caps/dsp/windows.h:
1219         * plugins/vst_base/remote_vst_plugin.cpp:
1220         * plugins/vst_base/basename.c:
1221         * plugins/vst_base/CMakeLists.txt:
1222         * plugins/midi_import/portsmf/allegro.h:
1223         * src/core/midi/midi_winmm.cpp:
1224         * src/core/mixer.cpp:
1225         * lmmsconfig.h.in:
1226         * CMakeLists.txt:
1227         various fixes for successfully building LMMS for win64
1229 2008-10-25      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
1231         * include/mixer.h:
1232         * src/core/mixer.cpp:
1233         * src/core/project_renderer.cpp:
1234         - initial (not yet enabled) support for binding mixer threads to CPUs to
1235           reduce scheduling overhead and cache misses (gives avg. 10% performance
1236           boost)
1237         - merged mixer-thread with first worker-thread - no more duplicate
1238           code for single- and multicore processing and better scheduling
1239           on multicore systems
1241         * include/automatable_model.h:
1242         * src/core/automatable_model.cpp:
1243         * src/core/audio/audio_alsa.cpp:
1244         * src/core/audio/audio_oss.cpp:
1245         * src/core/audio/audio_jack.cpp:
1246         * src/core/envelope_and_lfo_parameters.cpp:
1247         * src/core/piano.cpp:
1248         * src/core/controller.cpp:
1249         * src/gui/fx_mixer_view.cpp:
1250         * src/gui/widgets/combobox.cpp:
1251         * src/gui/widgets/envelope_and_lfo_view.cpp:
1252         * src/gui/widgets/knob.cpp:
1253         * src/gui/widgets/instrument_midi_io_view.cpp:
1254         * src/gui/widgets/automatable_slider.cpp:
1255         * src/gui/widgets/lcd_spinbox.cpp:
1256         * src/gui/widgets/fader.cpp:
1257         * src/gui/widgets/automatable_button.cpp:
1258         * src/tracks/automation_track.cpp:
1259         do not inline code for fetching value from controller and thus reduce
1260         header dependencies
1262         * plugins/vst_effect/CMakeLists.txt:
1263         * plugins/vestige/CMakeLists.txt:
1264         * plugins/vst_base/CMakeLists.txt:
1265         * CMakeLists.txt:
1266         made building the WINE-part of VST Support Layer optional to allow
1267         packaging it in separate package (e.g. on 64 bit platforms)
1269 2008-10-25      dieEasy <dieeasy/at/cheapnet/dot/it>
1271         * data/locale/it.qm:
1272         * data/locale/it.ts:
1273         updated Italian localization
1275 2008-10-25      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
1277         * data/locale/cs.qm:
1278         * data/locale/pt_br.qm:
1279         * data/locale/es.qm:
1280         * data/locale/fr.qm:
1281         * data/locale/nl.qm:
1282         * data/locale/ir.qm:
1283         * data/locale/en.ts:
1284         * data/locale/cs.ts:
1285         * data/locale/pt_br.ts:
1286         * data/locale/es.ts:
1287         * data/locale/fr.ts:
1288         * data/locale/nl.ts:
1289         * data/locale/ca.qm:
1290         * data/locale/ir.ts:
1291         * data/locale/ru.qm:
1292         * data/locale/sv.qm:
1293         * data/locale/ca.ts:
1294         * data/locale/ru.ts:
1295         * data/locale/sv.ts:
1296         * data/locale/en.qm:
1297         refreshed localization files
1299         * data/locale/de.ts:
1300         * data/locale/de.qm:
1301         updated German localization file
1303         * src/gui/lfo_controller_dialog.cpp:
1304         fixed strings
1306         * include/file_browser.h:
1307         * src/gui/file_browser.cpp:
1308         renamed class "listView" to "fileBrowserTreeWidget"
1310         * cmake/modules/DetectMachine.cmake:
1311         allow specifying destination directory for libs via CMAKE_INSTALL_LIBDIR
1313         * src/core/sample_buffer.cpp:
1314         - fixed out-of-boundary array access when reversing samples
1315         - optimized loops for loading samples
1317 2008-10-21      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
1319         * include/plugin.h:
1320         reverted to rev. 1766 - fixes broken label on LADSPA effects
1322         * include/knob.h:
1323         * src/gui/widgets/knob.cpp:
1324         track focusOutEvents in order to unhide cursor in certain situations
1326 2008-10-20      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
1328         * CMakeLists.txt:
1329         made 0.4.0-rc3 release
1331         * README:
1332         various fixes
1334         * src/gui/dialogs/about_dialog.ui:
1335         use QTextEdit rather than QPlainTextEdit for Qt 4.3 compatibility
1337 2008-10-19      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
1339         * plugins/sid/sid_instrument.cpp:
1340         * plugins/ladspa_effect/ladspa_effect.cpp:
1341         * plugins/patman/patman.cpp:
1342         * plugins/lb302/lb302.cpp:
1343         * plugins/organic/organic.cpp:
1344         * plugins/lb303/lb303.cpp:
1345         * plugins/stereo_matrix/stereo_matrix.cpp:
1346         * plugins/bass_booster/bass_booster.cpp:
1347         * plugins/bit_invader/bit_invader.cpp:
1348         * plugins/vst_effect/vst_effect.cpp:
1349         * plugins/vibed/vibed.cpp:
1350         * plugins/triple_oscillator/triple_oscillator.cpp:
1351         * plugins/peak_controller_effect/peak_controller_effect.cpp:
1352         * plugins/audio_file_processor/audio_file_processor.cpp:
1353         * plugins/stk/mallets/mallets.cpp:
1354         * plugins/stereo_enhancer/stereo_enhancer.cpp:
1355         * plugins/papu/papu_instrument.cpp:
1356         * plugins/sf2_player/sf2_player.cpp:
1357         * plugins/vestige/vestige.cpp:
1358         * plugins/vst_base/vst_base.cpp:
1359         * plugins/ladspa_browser/ladspa_browser.cpp:
1360         * plugins/spectrum_analyzer/spectrum_analyzer.cpp:
1361         * plugins/kicker/kicker.cpp:
1362         * plugins/flp_import/flp_import.cpp:
1363         * plugins/midi_import/midi_import.cpp:
1364         * include/embed.h:
1365         * include/lmms_basics.h:
1366         * include/plugin.h:
1367         * src/gui/embed.cpp:
1368         made STRINGIFY_PLUGIN_NAME from embed.h a generic macro STRINGIFY in
1369         lmms_basics.h
1371         * include/about_dialog.h:
1372         * src/gui/about_dialog.cpp:
1373         * src/gui/dialogs/about_dialog.ui:
1374         designed-based about dialog
1376         * src/gui/widgets/rename_dialog.cpp:
1377         initially select whole string so it can be overwritten easily
1379         * AUTHORS:
1380         moved an item to lmms-extras/AUTHORS
1382         * plugins/vst_base/vst_plugin.h:
1383         * plugins/vst_base/vst_plugin.cpp:
1384         * plugins/vst_effect/vst_effect_control_dialog.cpp:
1385         improved VST GUI embedding (closes #2167745)
1387         * src/gui/track_container_view.cpp:
1388         do not call method on deleted trackView but fetch pointer to track
1389         before deleting trackView (fixes crash when removing a track)
1391 2008-10-18      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
1393         * src/gui/widgets/track_label_button.cpp:
1394         more checks before accessing icon - fixes crash when using ZynAddSubFX
1395         plugin
1397         * plugins/vst_base/remote_vst_plugin.cpp:
1398         various tweakings
1400         * src/core/piano.cpp:
1401         check for focusWidget() being NULL before checking inheritance - fixes
1402         crash for example when loading VST plugins
1404         * src/gui/main_window.cpp:
1405         use "Root directory" rather than "My computer" in non-win32-version
1407         * cmake/modules/FindAlsa.cmake:
1408         * CMakeLists.txt:
1409         do not create alsaconfig.h
1411         * plugins/sf2_player/sf2_player.cpp:
1412         do not mess around with global static pointers for a single instance
1413         of patchesDialog - create a local object instead (closes #2139701)
1415         * include/file_browser.h:
1416         * src/gui/file_browser.cpp:
1417         added filter feature allowing quick file access
1419         * include/file_browser.h:
1420         * src/gui/main_window.cpp:
1421         * src/gui/file_browser.cpp:
1422         * data/themes/default/computer.png:
1423         * data/themes/default/home.png:
1424         - renamed tab "root" to "My computer"
1425         - on win32 allow browsing drives in "My computer" tab
1426         - improved icons for home and "My computer" browser
1428         * include/embed.h:
1429         * include/instrument_track.h:
1430         * include/plugin.h:
1431         * include/track_label_button.h:
1432         * src/gui/widgets/track_label_button.cpp:
1433         in instrument tracks draw icon of instrument rather than displaying the
1434         full name of the instrument on track label button
1436         * src/tracks/instrument_track.cpp:
1437         do not call trackView::dragEnterEvent() if instrument track window
1438         already accepted drag event - fixes dragging of presets and
1439         instruments onto track label button
1441         * src/core/piano.cpp:
1442         do not reclaim keyboard focus if new focus widget is a QLineEdit
1444 2008-10-17      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
1446         * include/remote_plugin.h:
1447         * src/core/remote_plugin.cpp:
1448         added helper thread processWatcher which monitors the remote plugin
1449         process - if it terminates unexpectedly, invalidate remotePlugin so
1450         LMMS doesn't lock up - fixes crashes and lockups when using VST
1451         plugins or ZynAddSubFX plugin
1453 2008-10-16      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
1455         * src/core/piano.cpp:
1456         reclaim keyboard focus if the current focus-widget lives in the same
1457         instrument-track-window as the previously active test piano - this way
1458         running notes are not stopped when modifying a control in the same
1459         instrument-track-window (closes #2139806)
1461         * include/file_browser.h:
1462         * src/gui/file_browser.cpp:
1463         heavily improved performance when adding items to file browser
1464         tree-widget (closes #2146218)
1466 2008-10-15      dieEasy <dieeasy/at/cheapnet/dot/it>
1468         * data/locale/it.qm:
1469         * data/locale/it.ts:
1470         updated Italian localization
1472 2008-10-15      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
1474         * data/locale/cs.qm:
1475         * data/locale/cs.ts:
1476         added Czech localization by Ludek Cerny <erl/at/erlmedia/dot/cz>
1478         * src/core/timeline.cpp:
1479         move position marker lines even if autoscrolling is disabled
1481         * include/envelope_and_lfo_parameters.h:
1482         * src/core/envelope_and_lfo_parameters.cpp:
1483         reverted to rev. 1479 as the optimizations lately completely screwed
1484         up things...
1486         * plugins/flp_import/flp_import.cpp:
1487         * include/basic_filters.h:
1488         cleanups
1490 2008-10-14      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
1492         * tests/README:
1493         * tests/emptyproject.mmp:
1494         first initial "test"
1496         * src/core/mixer.cpp:
1497         - use ordered memory semantics for atomic int
1498         - more debug output when encountering bad jobqueue items
1500         * CMakeLists.txt:
1501         improved dependency handling for building manpage
1503 2008-10-06      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
1505         * include/mmp.h:
1506         * include/cpuload_widget.h:
1507         * include/endian_handling.h:
1508         * include/track.h:
1509         * include/controller_rack_view.h:
1510         * include/mixer.h:
1511         * include/ladspa_manager.h:
1512         * include/instrument_functions.h:
1513         * include/sample_buffer.h:
1514         * include/effect_lib.h:
1515         * include/midi.h:
1516         * include/effect_rack_view.h:
1517         * include/graph.h:
1518         * include/micro_timer.h:
1519         * include/envelope_and_lfo_parameters.h:
1520         * include/piano_roll.h:
1521         * include/volume.h:
1522         * include/midi_time.h:
1523         * include/basic_filters.h:
1524         * include/journalling_object.h:
1525         * include/automation_editor.h:
1526         * include/panning.h:
1527         * include/project_journal.h:
1528         * include/play_handle.h:
1529         * plugins/bit_invader/bit_invader.h:
1530         * plugins/vibed/vibrating_string.h:
1531         * plugins/vibed/nine_button_selector.h:
1532         * plugins/vibed/string_container.h:
1533         * plugins/vst_base/remote_vst_plugin.cpp:
1534         * src/core/base64.cpp:
1535         * src/gui/widgets/side_bar_widget.cpp:
1536         renamed types.h to lmms_basics.h
1538 2008-10-06      Attila Herman <attila589/at/gmail/dot/com>
1540         * plugins/papu/papu_intrument.cpp:
1541         - renamed from PAPU to FreeBoy
1542         - help added to the knobs
1544 2008-10-04      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
1546         * plugins/kicker/kicker.cpp:
1547         moved constants out of loop
1549         * include/types.h:
1550         set global alignment via a #define
1552         * src/gui/piano_roll.cpp:
1553         - fixed typo
1554         - do not crash when pressing right mouse button while moving a note
1555           with left mouse button
1557         * src/core/song.cpp:
1558         lock mixer while adjusting lengths of notePlayHandles after tempo change
1560         * src/gui/file_browser.cpp:
1561         * src/core/note_play_handle.cpp:
1562         * src/core/audio/audio_port.cpp:
1563         coding style fixes
1565         * include/mixer.h:
1566         * src/core/mixer.cpp:
1567         removed fine-granular locking of various playHandle-vectors, just use
1568         one global big lock for everything now - prevents various
1569         deadlocks (e.g. when previewing samples in file browser)
1571         * src/gui/automation_editor.cpp:
1572         in erase-mode do not remove values without clicking
1574         * src/core/envelope_and_lfo_parameters.cpp:
1575         fixed what I broke a few hours ago.. (closes #2146864)
1577         * src/core/mmp.cpp:
1578         fixed extension for presets
1580         * plugins/ladspa_effect/ladspa_effect.cpp:
1581         * include/automatable_model.h:
1582         * include/automation_pattern.h:
1583         * src/core/automatable_model.cpp:
1584         * src/core/ladspa_control.cpp:
1585         * src/core/automation_pattern.cpp:
1586         fixed lost automation relations when switching samplerate
1588         * plugins/lb302/lb302.cpp:
1589         * plugins/lb302/lb302.h:
1590         * plugins/bass_booster/bass_booster.cpp:
1591         * plugins/bass_booster/bass_booster.h:
1592         * plugins/bit_invader/bit_invader.cpp:
1593         * plugins/vst_effect/vst_effect.cpp:
1594         * plugins/peak_controller_effect/peak_controller_effect.cpp:
1595         * plugins/stereo_enhancer/stereo_enhancer.cpp:
1596         * plugins/stereo_enhancer/stereo_enhancer.h:
1597         * plugins/spectrum_analyzer/spectrumanalyzer_control_dialog.cpp:
1598         * plugins/kicker/kicker.cpp:
1599         * include/sweep_oscillator.h:
1600         * include/envelope_and_lfo_parameters.h:
1601         * include/remote_plugin.h:
1602         * include/types.h:
1603         * src/core/midi/midi_client.cpp:
1604         * src/core/journalling_object.cpp:
1605         * src/core/audio/audio_pulseaudio.cpp:
1606         * src/core/envelope_and_lfo_parameters.cpp:
1607         * src/core/instrument_sound_shaping.cpp:
1608         * src/core/effect.cpp:
1609         * src/core/ladspa_control.cpp:
1610         * src/core/peak_controller.cpp:
1611         * src/gui/widgets/visualization_widget.cpp:
1612         * src/gui/widgets/tempo_sync_knob.cpp:
1613         - added missing includes to compile with GCC 4.4
1614         - optimized various loops for getting tree-vectorized, especially with
1615           upcoming GCC 4.4
1617         * CMakeLists.txt:
1618         use -ftree-vectorize per default - everyone compiling LMMS (which
1619         needs Qt >= 4.3.0) will at least have GCC 4.1, anyways only makes
1620         sense when setting C(XX)FLAGS=-march=...
1622         * include/effect_lib.h:
1623         improved effectLib for not being based on virtual-functions rather than
1624         direct function-inlining via template parameter
1626 2008-10-02      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
1628         * plugins/lb302/lb302.h:
1629         * plugins/lb303/lb303.h:
1630         removed obsolete supportsParallelizing() method
1632         * src/tracks/instrument_track.cpp:
1633         fixed volume-scaling for IPH-based but not MIDI-based instruments
1635         * src/core/envelope_and_lfo_parameters.cpp:
1636         use memset() rather than initializing the buffer in a loop with 0
1638         * plugins/ladspa_effect/ladspa_effect.cpp:
1639         fetch pointer to LADSPA port descriptor once outside the inner loops -
1640         improves performance of ladspaEffect::processAudioBuffer() by 400%
1642         * include/types.h:
1643         faster floating point comparison
1645         * data/locale/ru.ts:
1646         added updated Russian localization by Alexey Kouznetsov
1648         * buildtools/bin2res.cpp:
1649         * include/mmp.h:
1650         * include/knob.h:
1651         * include/effect.h:
1652         * include/templates.h:
1653         * include/track.h:
1654         * include/note.h:
1655         * include/automatable_model.h:
1656         * include/import_filter.h:
1657         * include/mixer.h:
1658         * include/combobox_model.h:
1659         * include/ladspa_manager.h:
1660         * include/instrument.h:
1661         * include/sample_buffer.h:
1662         * include/midi.h:
1663         * include/effect_lib.h:
1664         * include/sample_record_handle.h:
1665         * include/shared_object.h:
1666         * include/plugin.h:
1667         * include/note_play_handle.h:
1668         * include/instrument_sound_shaping.h:
1669         * include/oscillator.h:
1670         * include/tempo_sync_knob.h:
1671         * include/midi_time.h:
1672         * include/remote_plugin.h:
1673         * include/basic_filters.h:
1674         * include/journalling_object.h:
1675         * include/types.h:
1676         * include/dummy_effect.h:
1677         * include/automatable_model_view.h:
1678         * include/inline_automation.h:
1679         * include/audio_device.h:
1680         * include/panning.h:
1681         * include/combobox.h:
1682         * include/ladspa_2_lmms.h:
1683         * src/core/preset_preview_play_handle.cpp:
1684         * src/core/note_play_handle.cpp:
1685         * src/core/song.cpp:
1686         * src/core/serializing_object.cpp:
1687         * src/core/bb_track_container.cpp:
1688         * src/core/remote_plugin.cpp:
1689         * src/core/journalling_object.cpp:
1690         * src/core/automatable_model.cpp:
1691         * src/core/audio/audio_alsa.cpp:
1692         * src/core/audio/audio_sdl.cpp:
1693         * src/core/audio/audio_portaudio.cpp:
1694         * src/core/audio/audio_jack.cpp:
1695         * src/core/main.cpp:
1696         * src/core/instrument_sound_shaping.cpp:
1697         * src/core/effect.cpp:
1698         * src/core/instrument_functions.cpp:
1699         * src/core/controller_connection.cpp:
1700         * src/core/track.cpp:
1701         * src/core/engine.cpp:
1702         * src/core/piano.cpp:
1703         * src/core/timeline.cpp:
1704         * src/core/instrument.cpp:
1705         * src/core/surround_area.cpp:
1706         * src/core/sample_buffer.cpp:
1707         * src/core/oscillator.cpp:
1708         * src/core/automation_pattern.cpp:
1709         * src/core/lfo_controller.cpp:
1710         * src/core/sample_record_handle.cpp:
1711         * src/gui/piano_roll.cpp:
1712         * src/gui/plugin_browser.cpp:
1713         * src/gui/main_window.cpp:
1714         * src/gui/song_editor.cpp:
1715         * src/gui/widgets/kmultitabbar.cpp:
1716         * src/gui/widgets/knob.cpp:
1717         * src/gui/widgets/lcd_spinbox.cpp:
1718         * src/gui/automation_editor.cpp:
1719         * src/tracks/sample_track.cpp:
1720         * src/tracks/bb_track.cpp:
1721         * src/tracks/instrument_track.cpp:
1722         * src/tracks/pattern.cpp:
1723         * plugins/ladspa_effect/tap/CMakeLists.txt:
1724         * plugins/audio_file_processor/audio_file_processor.cpp:
1725         fixed a bunch warnings and remarks issued by Intel Compiler
1727         * include/fx_mixer.h:
1728         * src/core/fx_mixer.cpp:
1729         * src/core/mixer.cpp:
1730         - use one static jobqueue for not getting problems with cached pointers
1731         - check for job being NULL
1732         - improved performance of master mix
1734         * CMakeLists.txt:
1735         allow overriding compiler flags
1737 2008-09-30      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
1739         * plugins/sid/sid_instrument.h:
1740         * plugins/sid/sid_instrument.cpp:
1741         * plugins/ladspa_effect/tap/CMakeLists.txt:
1742         * plugins/ladspa_effect/caps/CMakeLists.txt:
1743         * plugins/patman/patman.cpp:
1744         * plugins/patman/patman.h:
1745         * plugins/lb302/lb302.cpp:
1746         * plugins/lb302/lb302.h:
1747         * plugins/organic/organic.cpp:
1748         * plugins/organic/organic.h:
1749         * plugins/lb303/lb303.cpp:
1750         * plugins/lb303/lb303.h:
1751         * plugins/bit_invader/bit_invader.cpp:
1752         * plugins/bit_invader/bit_invader.h:
1753         * plugins/vst_effect/vst_effect.cpp:
1754         * plugins/vibed/vibed.h:
1755         * plugins/vibed/vibed.cpp:
1756         * plugins/triple_oscillator/triple_oscillator.h:
1757         * plugins/triple_oscillator/triple_oscillator.cpp:
1758         * plugins/audio_file_processor/audio_file_processor.cpp:
1759         * plugins/audio_file_processor/audio_file_processor.h:
1760         * plugins/stk/mallets/mallets.cpp:
1761         * plugins/stk/mallets/mallets.h:
1762         * plugins/papu/papu_instrument.h:
1763         * plugins/papu/papu_instrument.cpp:
1764         * plugins/sf2_player/sf2_player.cpp:
1765         * plugins/sf2_player/sf2_player.h:
1766         * plugins/vestige/vestige.cpp:
1767         * plugins/vestige/vestige.h:
1768         * plugins/kicker/kicker.cpp:
1769         * plugins/kicker/kicker.h:
1770         * include/instrument_play_handle.h:
1771         * include/instrument_track.h:
1772         * include/instrument.h:
1773         * include/sample_record_handle.h:
1774         * include/plugin.h:
1775         * include/note_play_handle.h:
1776         * include/sample_play_handle.h:
1777         * include/remote_plugin.h:
1778         * include/preset_preview_play_handle.h:
1779         * include/play_handle.h:
1780         * src/core/plugin.cpp:
1781         * src/core/preset_preview_play_handle.cpp:
1782         * src/core/note_play_handle.cpp:
1783         * src/core/remote_plugin.cpp:
1784         * src/core/sample_play_handle.cpp:
1785         * src/core/mixer.cpp:
1786         * src/core/instrument.cpp:
1787         * src/core/sample_record_handle.cpp:
1788         * src/tracks/instrument_track.cpp:
1789         removed obsolete instrument-parallelization support as this is handled
1790         much better by worker threads and adds unnecessary complexity
1792         * cmake/modules/FindPCHSupport.cmake:
1793         * INSTALL:
1794         * CMakeLists.txt:
1795         - removed (buggy) PCH support
1796         - added support for CFLAGS and CXXFLAGS environment variables
1798 2008-09-29      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
1800         * plugins/sf2_player/sf2_player.cpp:
1801         use notePlayHandle::getMidiVelocty() rather than
1802         notePlayHandle::getVolume() for allowing less bright sounds by
1803         decreasing instrument-track's volume (if soundfont supports it)
1805         * plugins/sf2_player/sf2_player.h:
1806         * plugins/vestige/vestige.h:
1807         * plugins/vibed/vibed.h:
1808         * include/instrument.h:
1809         * include/note_play_handle.h:
1810         * src/core/note_play_handle.cpp:
1811         * src/tracks/instrument_track.cpp:
1812         - replaced instrument::notePlayHandleBased() with
1813           instrument::isMidiBased()
1814         - renamed bendable() to isBendable()
1815         - if the instrument is MIDI based and instrument-track's volume
1816           is below 100, adjust velocity of MIDI events and scaling factor when
1817           mixing sound
1819 2008-09-25      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
1821         * plugins/CMakeLists.txt:
1822         moved LiveTool to LMMS-extras
1824         * plugins/live_tool/live_tool.h:
1825         * plugins/live_tool/live_tool.cpp:
1826         replaced X11-specific parts by platform independent code but still
1827         does not work properly
1829         * src/gui/piano_roll.cpp:
1830         play preview notes also while playing (closes #2089399)
1832         * src/gui/widgets/project_notes.cpp:
1833         minor code improvements
1835 2008-09-24      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
1837         * plugins/ladspa_effect/cmt/src/syndrum.cpp:
1838         * plugins/ladspa_effect/cmt/src/vcf303.cpp:
1839         * plugins/ladspa_effect/cmt/src/canyondelay.cpp:
1840         * plugins/ladspa_effect/cmt/src/lofi.cpp:
1841         * plugins/ladspa_effect/cmt/src/phasemod.cpp:
1842         * plugins/ladspa_effect/cmt/src/analogue.cpp:
1843         * plugins/ladspa_effect/swh/CMakeLists.txt:
1844         * CMakeLists.txt:
1845         properly build on OS X
1847         * src/core/main.cpp:
1848         do not show splash if environment variable NOSPLASH is set
1850         * include/audio_portaudio.h:
1851         * src/core/audio/audio_portaudio.cpp:
1852         * src/core/audio/audio_pulseaudio.cpp:
1853         * src/core/sample_buffer.cpp:
1854         * src/core/sample_record_handle.cpp:
1855         * src/tracks/sample_track.cpp:
1856         * plugins/bit_invader/bit_invader.cpp:
1857         * plugins/sid/wave.cc:
1858         * plugins/sid/sid.cc:
1859         * plugins/sid/sid.h:
1860         * plugins/sid/filter.cc:
1861         fixed compiler warnings
1863         * src/gui/controller_connection_dialog.cpp:
1864         do not crash when opening controller connection dialog and using a
1865         non-sequenced (raw) MIDI-client
1867         * data/presets/TripleOscillator/SawLead.xpf:
1868         fixed preset name
1870 2008-09-23      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
1872         * CMakeLists.txt:
1873         made 0.4.0-rc2 release
1875         * src/gui/song_editor.cpp:
1876         * data/themes/default/playpos_marker.png:
1877         improved appearence of position line
1879         * src/gui/file_browser.cpp:
1880         if adding play handle failed for some reason, set internal pointer to
1881         it to NULL
1883         * include/play_handle.h:
1884         made QThread pointer const
1886         * include/mixer.h:
1887         * src/core/mixer.cpp:
1888         - lock playHandle mutex in mixer::clear()
1889         - moved implementation of mixer::removePlayHandle() from header to
1890           source-file
1891         - only delete play-handle in mixer::removePlayHandle() if it was
1892           found in playHandle vector (fixes crash when previewing a preset
1893           under high load)
1895 2008-09-22      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
1897         * CMakeLists.txt:
1898         package ZynAddSubFX into win32 build
1900         * plugins/vst_base/remote_vst_plugin.cpp:
1901         * include/remote_plugin.h:
1902         made remotePluginClient::process() have no return value
1904         * src/core/main.cpp:
1905         * data/locale/CMakeLists.txt:
1906         install and load Qt translation files on win32
1908         * src/core/song.cpp:
1909         fixed file-dialog for choosing export filename
1911         * src/core/project_renderer.cpp:
1912         start render-thread with normal priority on win32 as otherwise the
1913         whole GUI is almost frozen
1915         * CMakeLists.txt:
1916         removed -Wstrict-aliasing=2 warning
1918         * src/core/midi/midi_winmm.cpp:
1919         cleanups
1921         * include/audio_sdl.h:
1922         * src/core/audio/audio_sdl.cpp:
1923         fixed deadlocks after projectRenderer ran
1925         * src/core/main.cpp:
1926         set PaintOnScreen property for splash for not taking part of
1927         compositing management
1929         * include/song_editor.h:
1930         * include/timeline.h:
1931         * src/core/timeline.cpp:
1932         * src/gui/song_editor.cpp:
1933         added a vertical position line
1935         * src/core/midi/midi_winmm.cpp:
1936         added support for MIDI out in WinMM MIDI client
1938 2008-09-22      Paul Giblock <drfaygo/at/gmail/dot/com>
1940         * plugins/midi_import/portsmf/allegro.cpp:
1941         fixed broken SVN on 64bit systems. Who needs these printfs anyways?
1943         * plugins/lb302/lb302.cpp:
1944         max wave-shape model's max match the new total of wave-shapes.
1946         * include/peak_controller.h:
1947         * src/core/peak_controller.cpp:
1948         delete controller when effect is destroyed, but not the other way around
1950 2008-09-21      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
1952         * src/core/plugin.cpp:
1953         always return a dummy model in plugin::getChildModel() for not
1954         crashing if something goes wrong
1956         * include/controller_connection_dialog.h:
1957         * src/gui/controller_connection_dialog.cpp:
1958         automatically enable auto-detect LED when selecting a MIDI device
1960         * include/remote_plugin.h:
1961         * src/core/audio/audio_device.cpp:
1962         * src/core/audio/audio_oss.cpp:
1963         * src/core/drumsynth.cpp:
1964         * src/core/main.cpp:
1965         * src/core/mixer.cpp:
1966         * src/core/sample_record_handle.cpp:
1967         * src/core/track_container.cpp:
1968         * src/gui/widgets/lcd_spinbox.cpp:
1969         * plugins/bit_invader/bit_invader.cpp:
1970         * plugins/lb302/lb302.cpp:
1971         * plugins/midi_import/portsmf/allegrosmfwr.cpp:
1972         * plugins/midi_import/portsmf/allegro.cpp:
1973         * plugins/midi_import/midi_import.cpp:
1974         * plugins/papu/gb_apu/Blip_Buffer.cpp:
1975         * plugins/papu/gb_apu/Blip_Synth.h:
1976         * plugins/papu/gb_apu/blargg_source.h:
1977         * plugins/papu/gb_apu/Blip_Buffer.h:
1978         * plugins/sf2_player/sf2_player.cpp:
1979         fixed compiler warnings
1981         * src/core/midi/midi_alsa_seq.cpp:
1982         fixed subscription of output ports
1984         * include/group_box.h:
1985         * include/midi.h:
1986         * include/midi_port.h:
1987         * include/instrument_midi_io_view.h:
1988         * src/core/midi/midi_port.cpp:
1989         * src/gui/widgets/instrument_midi_io_view.cpp:
1990         * data/themes/default/midi_in.png:
1991         * data/themes/default/midi_out.png:
1992         refactored MIDI tab in instrumentTrackWindow which now also allows
1993         setting arbitrary fixed velocity and defining a program for MIDI output
1995         * include/midi_mapper.h:
1996         * src/core/midi/midi_mapper.cpp:
1997         * data/midi-maps/gm.map:
1998         * data/midi-maps/YamahaPSS790.map:
1999         * data/midi-maps/YamahaPSR400.map:
2000         * data/midi-maps/YamahaPSR500.map:
2001         * data/midi-maps/YamahaQY10.map:
2002         * data/midi-maps/README:
2003         removed obsolete/unused support for MIDI maps
2005         * CMakeLists.txt:
2006         enable all compiler warnings per default
2008         * include/audio_file_ogg.h:
2009         * include/audio_file_device.h:
2010         * src/gui/export_project_dialog.cpp:
2011         * src/core/audio/audio_file_device.cpp:
2012         * src/core/audio/audio_file_ogg.cpp:
2013         fixed crashes when exporting as OGG and output file can't be created
2014         or OGG encoding settings are wrong
2016         * src/core/automation_pattern.cpp:
2017         fixed automationPattern::length() for cases where the key of the
2018         last value was the first tick in a new tact
2020         * plugins/ladspa_effect/cmt/src/delay.cpp:
2021         initialize CMT_PluginDescriptor with correct number of ports
2023         * plugins/ladspa_effect/cmt/src/freeverb/Components/allpass.h:
2024         * plugins/ladspa_effect/cmt/src/freeverb/Components/comb.h:
2025         * plugins/ladspa_effect/cmt/src/freeverb/Components/denormals.h:
2026         fixed strict aliasing violation
2028         * plugins/ladspa_effect/cmt/src/analogue.cpp:
2029         initialize members
2031         * plugins/ladspa_effect/swh/CMakeLists.txt:
2032         * plugins/ladspa_effect/cmt/CMakeLists.txt:
2033         * plugins/ladspa_effect/tap/CMakeLists.txt:
2034         * plugins/ladspa_effect/caps/basics.h:
2035         * plugins/ladspa_effect/CMakeLists.txt:
2036         - build LADSPA-effect plugin after subdirs have been processed,
2037           otherwise LADSPA plugins are linked against Qt4 and so on
2038         - compile with -fno-strict-aliasing, fixes win32 builds of plugins
2040 2008-09-21      Paul Giblock <drfaygo/at/gmail/dot/com>
2042         * include/config_mgr.h:
2043         * include/setup_dialog.h:
2044         * src/gui/main_window.cpp:
2045         * src/gui/setup_dialog.cpp:
2046         * src/core/config_mgr.cpp:
2047         Add support for user-configurable backgound artwork
2049         * src/core/mmp.cpp:
2050         * data/samples/drumsynth/r_b:
2051         * data/samples/drumsynth/r_n_b:
2052         - Fix incorrect replacement for drumsynth/misc
2053         - Replace r&b,r_b with r_n_b
2055         * src/core/main.cpp:
2056         - Make "could not set realtime priority" sound less like an error
2057         - Actually commit the file
2059         * plugins/lb302/lb302.cpp:
2060         * plugins/lb302/lb302.h:
2061         * src/core/mmp.cpp:
2062         * data/themes/default/round_square_wave_inactive.png:
2063         * data/themes/default/round_square_wave_active.png:
2064         - Remove useless inverted-saw waveform
2065         - Add Sine, Noise, and Exponential waveforms
2066         - Use buttons instead of a knob
2068         * plugins/bit_invader/bit_invader.cpp:
2069         * plugins/bit_invader/bit_invader.h:
2070         - Add support for pitch bend
2071         - Move smoothing button to a more noticable location
2072         - Some coding style changes
2074         * plugins/stk/mallets/mallets.cpp:
2075         * plugins/stk/mallets/mallets.h:
2076         Add support for pitch bend
2078         * src/tracks/instrument_track.cpp:
2079         * include/instrument_track.h:
2080         - Correctly update instrumentTrackView when changing the instrument plugin
2081         - Add bendable property to hide pitchBend knob for Vibed
2083         * plugins/vibed/vibed.h:
2084         * include/instrument.h:
2085         * src/tracks/instrument_track.cpp:
2086         Hide pitch bend one vibed instrument
2087         
2088         * src/gui/setup_dialog.cpp:
2089         - Minor layout fix
2090         - Fix incorrect starting directory for STK
2092         * data/CMakeLists.txt:
2093         * data/backgrounds:
2094         * data/backgrounds/CMakeLists.txt:
2095         * data/backgrounds/lmms_tile.png:
2096         * data/backgrounds/vinnie.png:
2097         - Move llama theme background to backgrounds/
2098         - Resurrect the old background
2099         - more to come..
2101         * data/themes/llama:
2102         * data/themes/llama/background_artwork.png:
2103         - Remove llama theme
2105 2008-09-20      Paul Giblock <drfaygo/at/gmail/dot/com>
2107         * plugins/sf2_player/sf2_player.cpp:
2108         Fix bug introduced in the last edit.  Reference sharing was not working
2109         at all because the check was performed with a different filename than
2110         the insert
2111         
2112         * plugins/vibed/logo.png:
2113         Add fabi's improved vibed logo
2115         * CMakeLists.txt:
2116         Fix copy-and-paste error in a message
2118         * plugins/papu/papu_instrument.cpp:
2119         - Unselect the noise-channel (ch4) by default
2120         - Coding style changes
2122         * src/core/song.cpp:
2123         Add hard-coded file-extension filters to the import file screen
2125 2008-09-20      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
2127         * src/core/config_mgr.cpp:
2128         set default path if a path only contains of a dir-separator
2130         * data/presets/CMakeLists.txt:
2131         fixed extension of presets
2133         * plugins/ladspa_effect/cmt/doc/bugs.html:
2134         * plugins/ladspa_effect/cmt/doc/plugins.html:
2135         * plugins/ladspa_effect/cmt/doc/installation.html:
2136         * plugins/ladspa_effect/cmt/doc/license.html:
2137         * plugins/ladspa_effect/cmt/doc/tasks.html:
2138         * plugins/ladspa_effect/cmt/doc/COPYING:
2139         * plugins/ladspa_effect/cmt/doc/overview.html:
2140         * plugins/ladspa_effect/cmt/doc/index.html:
2141         * plugins/ladspa_effect/cmt/doc/adding_plugins.html:
2142         * plugins/ladspa_effect/cmt/doc/changes.html:
2143         * plugins/ladspa_effect/cmt/src/sine.cpp:
2144         * plugins/ladspa_effect/cmt/src/delay.cpp:
2145         * plugins/ladspa_effect/cmt/src/syndrum.cpp:
2146         * plugins/ladspa_effect/cmt/src/vcf303.cpp:
2147         * plugins/ladspa_effect/cmt/src/utils.h:
2148         * plugins/ladspa_effect/cmt/src/wshape_sine.cpp:
2149         * plugins/ladspa_effect/cmt/src/canyondelay.cpp:
2150         * plugins/ladspa_effect/cmt/src/noise.cpp:
2151         * plugins/ladspa_effect/cmt/src/amp.cpp:
2152         * plugins/ladspa_effect/cmt/src/disintegrator.cpp:
2153         * plugins/ladspa_effect/cmt/src/run_adding.h:
2154         * plugins/ladspa_effect/cmt/src/hardgate.cpp:
2155         * plugins/ladspa_effect/cmt/src/cmt.cpp:
2156         * plugins/ladspa_effect/cmt/src/mixer.cpp:
2157         * plugins/ladspa_effect/cmt/src/filter.cpp:
2158         * plugins/ladspa_effect/cmt/src/lofi.cpp:
2159         * plugins/ladspa_effect/cmt/src/am.cpp:
2160         * plugins/ladspa_effect/cmt/src/phasemod.cpp:
2161         * plugins/ladspa_effect/cmt/src/grain.cpp:
2162         * plugins/ladspa_effect/cmt/src/pink.cpp:
2163         * plugins/ladspa_effect/cmt/src/init.cpp:
2164         * plugins/ladspa_effect/cmt/src/ambisonic.cpp:
2165         * plugins/ladspa_effect/cmt/src/pinknoise.h:
2166         * plugins/ladspa_effect/cmt/src/organ.cpp:
2167         * plugins/ladspa_effect/cmt/src/null.cpp:
2168         * plugins/ladspa_effect/cmt/src/logistic.cpp:
2169         * plugins/ladspa_effect/cmt/src/descriptor.cpp:
2170         * plugins/ladspa_effect/cmt/src/freeverb/freeverb.cpp:
2171         * plugins/ladspa_effect/cmt/src/freeverb/Components/allpass.cpp:
2172         * plugins/ladspa_effect/cmt/src/freeverb/Components/comb.cpp:
2173         * plugins/ladspa_effect/cmt/src/freeverb/Components/revmodel.h:
2174         * plugins/ladspa_effect/cmt/src/freeverb/Components/allpass.h:
2175         * plugins/ladspa_effect/cmt/src/freeverb/Components/comb.h:
2176         * plugins/ladspa_effect/cmt/src/freeverb/Components/tuning.h:
2177         * plugins/ladspa_effect/cmt/src/freeverb/Components/denormals.h:
2178         * plugins/ladspa_effect/cmt/src/freeverb/Components/revmodel.cpp:
2179         * plugins/ladspa_effect/cmt/src/freeverb/readme.txt:
2180         * plugins/ladspa_effect/cmt/src/peak.cpp:
2181         * plugins/ladspa_effect/cmt/src/pink_full.cpp:
2182         * plugins/ladspa_effect/cmt/src/dynamic.cpp:
2183         * plugins/ladspa_effect/cmt/src/cmt.h:
2184         * plugins/ladspa_effect/cmt/src/pink_sh.cpp:
2185         * plugins/ladspa_effect/cmt/src/analogue.cpp:
2186         * plugins/ladspa_effect/cmt/src/sledgehammer.cpp:
2187         * plugins/ladspa_effect/cmt/src/ladspa_types.h:
2188         * plugins/ladspa_effect/cmt/CMakeLists.txt:
2189         * plugins/ladspa_effect/CMakeLists.txt:
2190         * CMakeLists.txt:
2191         added CMT LADSPA plugins - should be enough then :)
2193         * plugins/ladspa_effect/swh/ladspa-util.h:
2194         * plugins/ladspa_effect/swh/phasers_1217.c:
2195         * plugins/ladspa_effect/swh/vynil_1905.c:
2196         * plugins/ladspa_effect/swh/mbeq_1197.c:
2197         * plugins/ladspa_effect/swh/fast_lookahead_limiter_1913.c:
2198         * plugins/ladspa_effect/swh/flanger_1191.c:
2199         * plugins/ladspa_effect/swh/comb_1190.c:
2200         * plugins/ladspa_effect/swh/dc_remove_1207.c:
2201         * plugins/ladspa_effect/swh/dj_eq_1901.c:
2202         * plugins/ladspa_effect/swh/util/biquad.h:
2203         * plugins/ladspa_effect/swh/CMakeLists.txt:
2204         * plugins/ladspa_effect/swh/AUTHORS:
2205         * plugins/ladspa_effect/swh/COPYING:
2206         * plugins/ladspa_effect/swh/README:
2207         * plugins/ladspa_effect/CMakeLists.txt:
2208         * CMakeLists.txt:
2209         added a selection of nice SWH LADSPA plugins
2211         * include/piano_roll.h:
2212         * src/gui/piano_roll.cpp:
2213         fixed quantization when moving selected notes (closes #2118371)
2215         * plugins/sid/envelope.h:
2216         * plugins/sid/extfilt.h:
2217         * plugins/sid/wave.h:
2218         * plugins/sid/voice.h:
2219         * plugins/sid/sid.cc:
2220         * plugins/sid/sid.h:
2221         * plugins/sid/filter.h:
2222         * plugins/sid/sid_instrument.cpp:
2223         renamed class SID to cSID for not conflicting with data structure SID
2224         in win32 headers
2226         * include/ladspa_base.h:
2227         * src/core/ladspa_control.cpp:
2228         * src/gui/widgets/ladspa_control_view.cpp:
2229         * plugins/ladspa_effect/ladspa_effect.cpp:
2230         renamed FLOAT constant to FLOATING for not conflicting with FLOAT type
2231         in win32 headers
2233         * include/midi_time.h:
2234         export MIDI class - DLL version of midiImport plugin needs it
2236 2008-09-19      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
2238         * data/locale/pt_br.qm:
2239         * data/locale/fr.qm:
2240         * data/locale/es.qm:
2241         * data/locale/nl.qm:
2242         * data/locale/ir.qm:
2243         * data/locale/en.ts:
2244         * data/locale/it.qm:
2245         * data/locale/pt_br.ts:
2246         * data/locale/fr.ts:
2247         * data/locale/es.ts:
2248         * data/locale/nl.ts:
2249         * data/locale/ir.ts:
2250         * data/locale/ca.qm:
2251         * data/locale/it.ts:
2252         * data/locale/ru.qm:
2253         * data/locale/de.qm:
2254         * data/locale/sv.qm:
2255         * data/locale/ca.ts:
2256         * data/locale/ru.ts:
2257         * data/locale/de.ts:
2258         * data/locale/sv.ts:
2259         * data/locale/en.qm:
2260         refreshed localizations
2262         * CMakeLists.txt:
2263         added "finalize-locales" target
2265         * include/config_mgr.h:
2266         * src/core/config_mgr.cpp:
2267         * src/core/main.cpp:
2268         fixed paths when starting with no configuration file
2270         * src/core/timeline.cpp:
2271         * src/core/track.cpp:
2272         * data/themes/default/playpos_marker.png:
2273         * data/themes/default/loop_points_on.png:
2274         * data/themes/default/style.css:
2275         * data/themes/default/loop_point_disabled.png:
2276         * data/themes/default/autoscroll_off.png:
2277         * data/themes/default/loop_point.png:
2278         * data/themes/default/autoscroll_on.png:
2279         * data/themes/default/loop_points_off.png:
2280         improved visual appearence of timeline
2282         * CMakeLists.txt:
2283         improved detection of Qt4 translation directory
2285 2008-09-18      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
2287         * src/gui/fx_mixer_view.cpp:
2288         fixed tooltip of mute button
2290         * data/presets/AudioFileProcessor/Fat-Reversed-Kick.xpf:
2291         * data/presets/AudioFileProcessor/orion.xpf:
2292         * data/presets/AudioFileProcessor/Kick-4-your-Subwoofer.xpf:
2293         * data/presets/AudioFileProcessor/Erazor.cs.xml:
2294         * data/presets/AudioFileProcessor/Bass-Mania.xpf:
2295         * data/presets/AudioFileProcessor/Fat-Reversed-Kick.cs.xml:
2296         * data/presets/AudioFileProcessor/Kick-4-your-Subwoofer.cs.xml:
2297         * data/presets/AudioFileProcessor/Bass-Mania.cs.xml:
2298         * data/presets/AudioFileProcessor/Erazor.xpf:
2299         * data/presets/LB302/Oh:
2300         * data/presets/LB302/GoodOldTimes.xpf:
2301         * data/presets/LB302/Oh:
2302         * data/presets/Organic/organ_swish.xpf:
2303         * data/presets/Organic/pad_ethereal.cs.xml:
2304         * data/presets/Organic/organ_swish.cs.xml:
2305         * data/presets/Organic/puresine.xpf:
2306         * data/presets/Organic/default.cs.xml:
2307         * data/presets/Organic/organ_blues.xpf:
2308         * data/presets/Organic/puresine.cs.xml:
2309         * data/presets/Organic/sequencer_64.xpf:
2310         * data/presets/Organic/organ_blues.cs.xml:
2311         * data/presets/Organic/organ_risingsun.xpf:
2312         * data/presets/Organic/pad_sweep.xpf:
2313         * data/presets/Organic/pad_rich.xpf:
2314         * data/presets/Organic/sequencer_64.cs.xml:
2315         * data/presets/Organic/pad_ethereal.xpf:
2316         * data/presets/Organic/pad_sweep.cs.xml:
2317         * data/presets/Organic/organ_risingsun.cs.xml:
2318         * data/presets/Organic/pad_rich.cs.xml:
2319         * data/presets/BitInvader/drama.xpf:
2320         * data/presets/BitInvader/pluck.cs.xml:
2321         * data/presets/BitInvader/bell.cs.xml:
2322         * data/presets/BitInvader/spacefx.xpf:
2323         * data/presets/BitInvader/drama.cs.xml:
2324         * data/presets/BitInvader/default.cs.xml:
2325         * data/presets/BitInvader/cello.xpf:
2326         * data/presets/BitInvader/soft_pad.xpf:
2327         * data/presets/BitInvader/spacefx.cs.xml:
2328         * data/presets/BitInvader/alien_strings.xpf:
2329         * data/presets/BitInvader/toy_piano.xpf:
2330         * data/presets/BitInvader/subbass.xpf:
2331         * data/presets/BitInvader/wah_synth.xpf:
2332         * data/presets/BitInvader/cello.cs.xml:
2333         * data/presets/BitInvader/soft_pad.cs.xml:
2334         * data/presets/BitInvader/sweep_pad.xpf:
2335         * data/presets/BitInvader/beehive.xpf:
2336         * data/presets/BitInvader/toy_piano.cs.xml:
2337         * data/presets/BitInvader/alien_strings.cs.xml:
2338         * data/presets/BitInvader/subbass.cs.xml:
2339         * data/presets/BitInvader/wah_synth.cs.xml:
2340         * data/presets/BitInvader/epiano.xpf:
2341         * data/presets/BitInvader/sweep_pad.cs.xml:
2342         * data/presets/BitInvader/beehive.cs.xml:
2343         * data/presets/BitInvader/bell.xpf:
2344         * data/presets/BitInvader/pluck.xpf:
2345         * data/presets/BitInvader/epiano.cs.xml:
2346         * data/presets/Vibed/SadPad.cs.xml:
2347         * data/presets/Vibed/Harpsichord.xpf:
2348         * data/presets/Vibed/SadPad.xpf:
2349         * data/presets/Vibed/Harpsichord.cs.xml:
2350         * data/presets/TripleOscillator/Short4.xpf:
2351         * data/presets/TripleOscillator/Arpeggio_1.cs.xml:
2352         * data/presets/TripleOscillator/Fat-FMish-Bells.cs.xml:
2353         * data/presets/TripleOscillator/AmazingBubbles.xpf:
2354         * data/presets/TripleOscillator/HiPad.xpf:
2355         * data/presets/TripleOscillator/Whistle.cs.xml:
2356         * data/presets/TripleOscillator/Plucked.xpf:
2357         * data/presets/TripleOscillator/SawLead.cs.xml:
2358         * data/presets/TripleOscillator/Harp-of-a-Fairy.cs.xml:
2359         * data/presets/TripleOscillator/Short4.cs.xml:
2360         * data/presets/TripleOscillator/ArpKing.xpf:
2361         * data/presets/TripleOscillator/Dull-Bell-Arp.xpf:
2362         * data/presets/TripleOscillator/Rough!.cs.xml:
2363         * data/presets/TripleOscillator/Plucked.cs.xml:
2364         * data/presets/TripleOscillator/Harmonium.xpf:
2365         * data/presets/TripleOscillator/E-Organ.cs.xml:
2366         * data/presets/TripleOscillator/Gong.cs.xml:
2367         * data/presets/TripleOscillator/ArpKing.cs.xml:
2368         * data/presets/TripleOscillator/AnalogDreamz.xpf:
2369         * data/presets/TripleOscillator/Harmonium.cs.xml:
2370         * data/presets/TripleOscillator/PowerStrings.xpf:
2371         * data/presets/TripleOscillator/SpaceBass.cs.xml:
2372         * data/presets/TripleOscillator/RaveBass.cs.xml:
2373         * data/presets/TripleOscillator/ResonantPad.xpf:
2374         * data/presets/TripleOscillator/SawLead.xpf:
2375         * data/presets/TripleOscillator/Fat.cs.xml:
2376         * data/presets/TripleOscillator/ResoBass.xpf:
2377         * data/presets/TripleOscillator/LovelyDream.xpf:
2378         * data/presets/TripleOscillator/AnalogTimes2.xpf:
2379         * data/presets/TripleOscillator/RockOrgan.xpf:
2380         * data/presets/TripleOscillator/TB303-Arpeggio.xpf:
2381         * data/presets/TripleOscillator/Xylophon.cs.xml:
2382         * data/presets/TripleOscillator/E-Organ.xpf:
2383         * data/presets/TripleOscillator/Short3.cs.xml:
2384         * data/presets/TripleOscillator/LovelyDream.cs.xml:
2385         * data/presets/TripleOscillator/SoftStrings.cs.xml:
2386         * data/presets/TripleOscillator/DeathBass.xpf:
2387         * data/presets/TripleOscillator/Play-some-rock.xpf:
2388         * data/presets/TripleOscillator/TranceLead.xpf:
2389         * data/presets/TripleOscillator/MoveYourBody.xpf:
2390         * data/presets/TripleOscillator/SpaceBass.xpf:
2391         * data/presets/TripleOscillator/Harpsichord.xpf:
2392         * data/presets/TripleOscillator/Freaky-Bass.xpf:
2393         * data/presets/TripleOscillator/MoveYourBody.cs.xml:
2394         * data/presets/TripleOscillator/PowerStrings.cs.xml:
2395         * data/presets/TripleOscillator/Fat-FMish-Bells.xpf:
2396         * data/presets/TripleOscillator/Arpeggio_1.xpf:
2397         * data/presets/TripleOscillator/Freaky-Bass.cs.xml:
2398         * data/presets/TripleOscillator/Bell.xpf:
2399         * data/presets/TripleOscillator/Arpeggio_2.xpf:
2400         * data/presets/TripleOscillator/Xylophon.xpf:
2401         * data/presets/TripleOscillator/Jupiter.xpf:
2402         * data/presets/TripleOscillator/SawReso.xpf:
2403         * data/presets/TripleOscillator/LFO-party.cs.xml:
2404         * data/presets/TripleOscillator/ResonantPad.cs.xml:
2405         * data/presets/TripleOscillator/Rough!.xpf:
2406         * data/presets/TripleOscillator/Distorted-FM-Bass.xpf:
2407         * data/presets/TripleOscillator/Kick.cs.xml:
2408         * data/presets/TripleOscillator/Short2.cs.xml:
2409         * data/presets/TripleOscillator/SawReso.cs.xml:
2410         * data/presets/TripleOscillator/TheFirstOne.xpf:
2411         * data/presets/TripleOscillator/SoftBass.cs.xml:
2412         * data/presets/TripleOscillator/AmazingBubbles.cs.xml:
2413         * data/presets/TripleOscillator/HiPad.cs.xml:
2414         * data/presets/TripleOscillator/TB303-Arpeggio.cs.xml:
2415         * data/presets/TripleOscillator/Distorted-FM-Bass.cs.xml:
2416         * data/presets/TripleOscillator/Analogous.cs.xml:
2417         * data/presets/TripleOscillator/TheMaster.cs.xml:
2418         * data/presets/TripleOscillator/WarmStack.cs.xml:
2419         * data/presets/TripleOscillator/Ravemania.xpf:
2420         * data/presets/TripleOscillator/PluckArpeggio.cs.xml:
2421         * data/presets/TripleOscillator/Square.cs.xml:
2422         * data/presets/TripleOscillator/Play-some-rock.cs.xml:
2423         * data/presets/TripleOscillator/TranceLead.cs.xml:
2424         * data/presets/TripleOscillator/Ravemania.cs.xml:
2425         * data/presets/TripleOscillator/OldComputerGames.xpf:
2426         * data/presets/TripleOscillator/Harpsichord.cs.xml:
2427         * data/presets/TripleOscillator/MoogArpeggio.xpf:
2428         * data/presets/TripleOscillator/Snare.cs.xml:
2429         * data/presets/TripleOscillator/Harp-of-a-Fairy.xpf:
2430         * data/presets/TripleOscillator/FutureBass.xpf:
2431         * data/presets/TripleOscillator/Fat-TB303-Arp.xpf:
2432         * data/presets/TripleOscillator/SoftBass.xpf:
2433         * data/presets/TripleOscillator/Bell.cs.xml:
2434         * data/presets/TripleOscillator/Arpeggio_2.cs.xml:
2435         * data/presets/TripleOscillator/SoftStrings.xpf:
2436         * data/presets/TripleOscillator/MoogArpeggio.cs.xml:
2437         * data/presets/TripleOscillator/Short1.cs.xml:
2438         * data/presets/TripleOscillator/FatCheese.xpf:
2439         * data/presets/TripleOscillator/Analogous.xpf:
2440         * data/presets/TripleOscillator/ResoBass.cs.xml:
2441         * data/presets/TripleOscillator/Jupiter.cs.xml:
2442         * data/presets/TripleOscillator/Fat-TB303-Arp.cs.xml:
2443         * data/presets/TripleOscillator/FutureBass.cs.xml:
2444         * data/presets/TripleOscillator/Gong.xpf:
2445         * data/presets/TripleOscillator/TB303.xpf:
2446         * data/presets/TripleOscillator/RockOrgan.cs.xml:
2447         * data/presets/TripleOscillator/AnalogTimes2.cs.xml:
2448         * data/presets/TripleOscillator/PluckArpeggio.xpf:
2449         * data/presets/TripleOscillator/TheMaster.xpf:
2450         * data/presets/TripleOscillator/WarmStack.xpf:
2451         * data/presets/TripleOscillator/FatCheese.cs.xml:
2452         * data/presets/TripleOscillator/Bell_2.xpf:
2453         * data/presets/TripleOscillator/Square.xpf:
2454         * data/presets/TripleOscillator/TheFirstOne.cs.xml:
2455         * data/presets/TripleOscillator/TB303.cs.xml:
2456         * data/presets/TripleOscillator/AnalogTimes.xpf:
2457         * data/presets/TripleOscillator/Dull-Bell-Arp.cs.xml:
2458         * data/presets/TripleOscillator/ChurchOrgan.xpf:
2459         * data/presets/TripleOscillator/Kick2.xpf:
2460         * data/presets/TripleOscillator/Bell_2.cs.xml:
2461         * data/presets/TripleOscillator/RaveBass.xpf:
2462         * data/presets/TripleOscillator/Snare.xpf:
2463         * data/presets/TripleOscillator/ChurchOrgan.cs.xml:
2464         * data/presets/TripleOscillator/Kick2.cs.xml:
2465         * data/presets/TripleOscillator/AnalogTimes.cs.xml:
2466         * data/presets/TripleOscillator/E-Organ2.xpf:
2467         * data/presets/TripleOscillator/Fat.xpf:
2468         * data/presets/TripleOscillator/AnalogDreamz.cs.xml:
2469         * data/presets/TripleOscillator/LFO-party.xpf:
2470         * data/presets/TripleOscillator/Whistle.xpf:
2471         * data/presets/TripleOscillator/Short1.xpf:
2472         * data/presets/TripleOscillator/OldComputerGames.cs.xml:
2473         * data/presets/TripleOscillator/Kick.xpf:
2474         * data/presets/TripleOscillator/Short2.xpf:
2475         * data/presets/TripleOscillator/Short3.xpf:
2476         * src/gui/main_window.cpp:
2477         * src/gui/file_browser.cpp:
2478         * src/tracks/instrument_track.cpp:
2479         changed preset's extension from "*.cs.xml" to "*.xpf"
2481         * include/instrument_track.h:
2482         * include/track.h:
2483         * include/track_label_button.h:
2484         * src/core/bb_track_container.cpp:
2485         * src/core/track.cpp:
2486         * src/gui/widgets/track_label_button.cpp:
2487         * src/tracks/automation_track.cpp:
2488         * src/tracks/bb_track.cpp:
2489         * src/tracks/instrument_track.cpp:
2490         * src/tracks/sample_track.cpp:
2491         - when used on instrumentTrack, also show instrument name on
2492           trackLabelButton
2493         - removed obsolete support for choosing custom track icons
2495         * src/core/mixer.cpp:
2496         when just rendering at console, use DEFAULT_BUFFER_SIZE
2498         * data/track_icons/harp02.png:
2499         * data/track_icons/harp03.png:
2500         * data/track_icons/cello01.png:
2501         * data/track_icons/guitar_electric01.png:
2502         * data/track_icons/piano01.png:
2503         * data/track_icons/guitar_electric02.png:
2504         * data/track_icons/maracas01.png:
2505         * data/track_icons/guitar_electric03.png:
2506         * data/track_icons/guitar_electric04.png:
2507         * data/track_icons/connectors01.png:
2508         * data/track_icons/drumset01_.png:
2509         * data/track_icons/trombone01.png:
2510         * data/track_icons/CMakeLists.txt:
2511         * data/track_icons/african_drum01.png:
2512         * data/track_icons/french_horn01.png:
2513         * data/track_icons/african_drum02.png:
2514         * data/track_icons/mouth01.png:
2515         * data/track_icons/african_drum03.png:
2516         * data/track_icons/african_drum04.png:
2517         * data/track_icons/african_drum05.png:
2518         * data/track_icons/gramophone01.png:
2519         * data/track_icons/trumpet01.png:
2520         * data/track_icons/violin01.png:
2521         * data/track_icons/trumpet02.png:
2522         * data/track_icons/violin02.png:
2523         * data/track_icons/trumpet03.png:
2524         * data/track_icons/microphone01.png:
2525         * data/track_icons/guitar_bass01.png:
2526         * data/track_icons/trumpet04.png:
2527         * data/track_icons/microphone02.png:
2528         * data/track_icons/microphone03.png:
2529         * data/track_icons/microphone04.png:
2530         * data/track_icons/flute01.png:
2531         * data/track_icons/oboe01.png:
2532         * data/track_icons/xylophone01.png:
2533         * data/track_icons/guitar_accoustic01.png:
2534         * data/track_icons/guitar_accoustic02.png:
2535         * data/track_icons/speaker01.png:
2536         * data/track_icons/harp01.png:
2537         * data/track_icons/guitar_accoustic03.png:
2538         * data/CMakeLists.txt:
2539         finally removed obsolete track icons
2541 2008-09-17      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
2543         * plugins/sf2_player/sf2_player.cpp:
2544         try to use relative paths for s_fonts map too as otherwise
2545         s_fonts.remove( m_filename ) won't do anything if a full path was
2546         inserted and m_filename was made relative - fixes crash when
2547         re-opening a soundfont which was shared before
2549         * plugins/midi_import/portsmf/strparse.cpp:
2550         fixed compilation issue
2552 2008-09-16      Paul Giblock <drfaygo/at/gmail/dot/com>
2554         * plugins/sf2_player/sf2_player.cpp:
2555         * plugins/sf2_player/sf2_player.h:
2556         * plugins/midi_import/portsmf:
2557         * plugins/midi_import/portsmf/allegrowr.cpp:
2558         * plugins/midi_import/portsmf/trace.cpp:
2559         * plugins/midi_import/portsmf/algsmfrd_internal.h:
2560         * plugins/midi_import/portsmf/trace.h:
2561         * plugins/midi_import/portsmf/strparse.cpp:
2562         * plugins/midi_import/portsmf/allegrosmfwr.cpp:
2563         * plugins/midi_import/portsmf/mfmidi.cpp:
2564         * plugins/midi_import/portsmf/strparse.h:
2565         * plugins/midi_import/portsmf/mfmidi.h:
2566         * plugins/midi_import/portsmf/allegrord.cpp:
2567         * plugins/midi_import/portsmf/license.txt:
2568         * plugins/midi_import/portsmf/allegrosmfrd.cpp:
2569         * plugins/midi_import/portsmf/allegro.cpp:
2570         * plugins/midi_import/portsmf/allegroserial.cpp:
2571         * plugins/midi_import/portsmf/algrd_internal.h:
2572         * plugins/midi_import/portsmf/allegro.h:
2573         * plugins/midi_import/portsmf/README.txt:
2574         * plugins/midi_import/CMakeLists.txt:
2575         * plugins/midi_import/midi_import.cpp:
2576         * include/meter_model.h:
2577         * include/instrument_track.h:
2578         * include/config_mgr.h:
2579         * include/plugin.h:
2580         * include/setup_dialog.h:
2581         * src/gui/setup_dialog.cpp:
2582         * src/core/plugin.cpp:
2583         * src/core/config_mgr.cpp:
2584         - Add Portsmf-based MIDI import to trunk
2585         - Add default-sf2 to settings dialog, but currently only loads when
2586           importing a MIDI
2588         * src/gui/piano_roll.cpp:
2589         - Add new shortcuts for change Q and note length
2590         - Add "Note lock" mode to keep Q equal to note length
2592 2008-09-16      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
2594         * src/gui/track_container_view.cpp:
2595         * src/core/track.cpp:
2596         disabled undo/redo of track/TCO addition/removal as not mature yet and
2597         causes unnecessary crashes (closes #2014439, #2100407)
2599         * data/projects/cool_songs/Skiessi-TurningPoint.mmpz:
2600         * data/projects/cool_songs/Skiessi-RandomProjectNumber14253.mmpz:
2601         added two cool projects from Skiessi - more to come
2603         * src/core/track.cpp:
2604         * src/core/automation_pattern.cpp:
2605         - fixed cloning of automation-patterns (closes #2102218)
2606         - allow dropping automation patterns onto existing automation patterns
2608         * src/core/project_journal.cpp:
2609         improved usage of random number generator (closes #2109211)
2611         * plugins/ladspa_effect/tap/tap_pinknoise.c:
2612         * plugins/ladspa_effect/caps/interface.cc:
2613         * src/core/drumsynth.cpp:
2614         * src/core/main.cpp:
2615         don't mis-initialize random number generator with default value
2617         * src/core/journalling_object.cpp:
2618         print name of object which uses ID if another object requests it
2620         * src/core/automation_pattern.cpp:
2621         make sure we don't return NULL in automationPattern::firstObject()
2623         * plugins/ladspa_effect/ladspa_effect.cpp:
2624         * include/engine.h:
2625         * include/effect_rack_view.h:
2626         * include/effect_chain.h:
2627         * src/core/effect_chain.cpp:
2628         * src/core/preset_preview_play_handle.cpp:
2629         * src/core/engine.cpp:
2630         * src/gui/widgets/effect_rack_view.cpp:
2631         - do not show messages about missing plugins when previewing
2632           presets (closes #2110203)
2633         - clear effect view before loading settings in effectChain
2635         * CMakeLists.txt:
2636         improved out-of-tree builds
2638 2008-09-14      Csaba Hruska <csaba.hruska/at/gmail.com>
2639         
2640         * src/core/audio/audio_portaudio.cpp:
2641         Bugfix: Fixed segfault when other app uses and blocks the audio device
2643 2008-09-08      Paul Giblock <drfaygo/at/gmail/dot/com>
2644         
2645         * src/core/timeline.cpp:
2646         Keep loop markers from being in same position
2648 2008-09-11      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
2650         * include/audio_port.h:
2651         * include/midi.h:
2652         * include/mixer.h:
2653         * include/play_handle.h:
2654         * include/sample_play_handle.h:
2655         * include/track.h:
2656         * src/core/audio/audio_port.cpp:
2657         * src/core/effect_chain.cpp:
2658         * src/core/mixer.cpp:
2659         * src/core/sample_play_handle.cpp:
2660         * src/core/track.cpp:
2661         - ensure correct thread affinity when deleting play handles - fixes
2662           crash when previewing samples and LMMS was linked against Qt 4.3.x
2663         - renamed destroyed()-signals for not conflicting with
2664           QObject::destroyed() in Qt 4.3
2665         - made effectChain creation in audioPort optional
2666         - fixed various compiler warnings
2668 2008-09-08      Paul Giblock <drfaygo/at/gmail/dot/com>
2670         * plugins/papu/gb_abu/Blip_Buffer.cpp:
2671         Fix PAPU for 64bit machines
2673 2008-09-08      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
2675         * CMakeLists.txt:
2676         made 0.4.0-rc1 release
2678         * plugins/vst_base/CMakeLists.txt:
2679         * CMakeLists.txt:
2680         - fixed win32-specific build issues
2681         - on Linux install manpage
2683         * include/gui_templates.h:
2684         * src/core/instrument_sound_shaping.cpp:
2685         * src/gui/widgets/instrument_sound_shaping_view.cpp:
2686         * src/gui/widgets/lcd_spinbox.cpp:
2687         * data/locale/de.qm:
2688         * data/locale/de.ts:
2689         further UI finetuning
2691         * include/midi_winmm.h:
2692         * src/core/midi/midi_winmm.cpp:
2693         finally made WinMM MIDI driver work properly by fixing internal data
2694         structures
2696         * buildtools/bin2res.cpp:
2697         * plugins/bit_invader/logo.png:
2698         * plugins/bit_invader/bit_invader.cpp:
2699         * plugins/bit_invader/wavegraph.png:
2700         * plugins/bit_invader/wavegraph3.png:
2701         * plugins/bit_invader/artwork.png:
2702         * plugins/lb302/artwork.png:
2703         * plugins/papu/artwork.png:
2704         * plugins/sf2_player/chorus_off.png:
2705         * plugins/sf2_player/chorus_on.png:
2706         * plugins/sf2_player/logo.png:
2707         * plugins/sf2_player/sf2_player.cpp:
2708         * plugins/sf2_player/fileselect_off.png:
2709         * plugins/sf2_player/fileselect_on.png:
2710         * plugins/sf2_player/reverb_off.png:
2711         * plugins/sf2_player/patches_off.png:
2712         * plugins/sf2_player/patches_on.png:
2713         * plugins/sf2_player/artwork.png:
2714         * plugins/sid/3off.png:
2715         * plugins/sid/8580red.png:
2716         * plugins/sid/trianglered.png:
2717         * plugins/sid/logo.png:
2718         * plugins/sid/bp.png:
2719         * plugins/sid/6581.png:
2720         * plugins/sid/8580.png:
2721         * plugins/sid/syncred.png:
2722         * plugins/sid/hp.png:
2723         * plugins/sid/lp.png:
2724         * plugins/sid/sync.png:
2725         * plugins/sid/noise.png:
2726         * plugins/sid/test.png:
2727         * plugins/sid/pulsered.png:
2728         * plugins/sid/filter.png:
2729         * plugins/sid/sawred.png:
2730         * plugins/sid/3offred.png:
2731         * plugins/sid/pulse.png:
2732         * plugins/sid/artwork.png:
2733         * plugins/sid/saw.png:
2734         * plugins/sid/bpred.png:
2735         * plugins/sid/6581red.png:
2736         * plugins/sid/ring.png:
2737         * plugins/sid/hpred.png:
2738         * plugins/sid/triangle.png:
2739         * plugins/sid/lpred.png:
2740         * plugins/sid/noisered.png:
2741         * plugins/sid/testred.png:
2742         * plugins/sid/filterred.png:
2743         * plugins/sid/ringred.png:
2744         * plugins/spectrum_analyzer/log_x_axis.png:
2745         * plugins/spectrum_analyzer/log_y_axis.png:
2746         * plugins/spectrum_analyzer/background.png:
2747         * plugins/spectrum_analyzer/spectrum_background.png:
2748         * plugins/spectrum_analyzer/spectrum_background_plain.png:
2749         * plugins/vestige/vestige.cpp:
2750         * plugins/vst_base/remote_vst_plugin.cpp:
2751         * data/themes/default/groupbox_led_bg.png:
2752         * include/aeffectx.h:
2753         * include/effect_rack_view.h:
2754         * include/group_box.h:
2755         * include/gui_templates.h:
2756         * src/core/piano.cpp:
2757         * src/gui/fx_mixer_view.cpp:
2758         * src/gui/plugin_browser.cpp:
2759         * src/gui/widgets/effect_rack_view.cpp:
2760         * src/gui/widgets/group_box.cpp:
2761         * src/gui/widgets/instrument_function_views.cpp:
2762         * src/gui/widgets/instrument_midi_io_view.cpp:
2763         * src/gui/widgets/instrument_sound_shaping_view.cpp:
2764         * src/gui/widgets/knob.cpp:
2765         * src/gui/widgets/tab_widget.cpp:
2766         UI finetuning / recompression of some PNG-files
2768         * src/core/remote_plugin.cpp:
2769         improved destruction
2771         * src/core/mixer.cpp:
2772         re-enabled WinMM MIDI
2774         * include/midi_winmm.h:
2775         * src/core/midi/midi_winmm.cpp:
2776         create separate thread for WinMM MIDI
2778 2008-09-08      Paul Giblock <drfaygo/at/gmail/dot/com>
2780         * plugins/sid/logo.png:
2781         Un-box the sid logo
2783         * plugins/papu:
2784         * plugins/papu/Basic_Gb_Apu.cpp:
2785         * plugins/papu/btn_off.png:
2786         * plugins/papu/btn_on.png:
2787         * plugins/papu/papu_instrument.h:
2788         * plugins/papu/logo.png:
2789         * plugins/papu/Basic_Gb_Apu.h:
2790         * plugins/papu/btn_up.png:
2791         * plugins/papu/btn_15.png:
2792         * plugins/papu/btn_7.png:
2793         * plugins/papu/artwork.png:
2794         * plugins/papu/gb_apu:
2795         * plugins/papu/gb_apu/Blip_Buffer.cpp:
2796         * plugins/papu/gb_apu/Gb_Oscs.cpp:
2797         * plugins/papu/gb_apu/Blip_Synth.h:
2798         * plugins/papu/gb_apu/Gb_Apu.h:
2799         * plugins/papu/gb_apu/blargg_source.h:
2800         * plugins/papu/gb_apu/Multi_Buffer.cpp:
2801         * plugins/papu/gb_apu/Blip_Buffer.h:
2802         * plugins/papu/gb_apu/Gb_Oscs.h:
2803         * plugins/papu/gb_apu/boost:
2804         * plugins/papu/gb_apu/boost/config.hpp:
2805         * plugins/papu/gb_apu/boost/cstdint.hpp:
2806         * plugins/papu/gb_apu/boost/static_assert.hpp:
2807         * plugins/papu/gb_apu/Multi_Buffer.h:
2808         * plugins/papu/gb_apu/LGPL.txt:
2809         * plugins/papu/gb_apu/blargg_common.h:
2810         * plugins/papu/gb_apu/Gb_Apu.cpp:
2811         * plugins/papu/btn_down.png:
2812         * plugins/papu/CMakeLists.txt:
2813         * plugins/papu/papu_instrument.cpp:
2814         * plugins/CMakeLists.txt:
2815         - Add Csaba and Attila's GameBoy emulator so it can be tested in RC1
2816         - Update artwork to something not trademarked. "Freeboy" is just for now
2818 2008-09-07      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
2820         * plugins/patman/patman.cpp:
2821         * plugins/patman/patman.h:
2822         - apply release of 128 frames
2823         - enable loop mode per default
2825         * plugins/patman/patman.cpp:
2826         * plugins/patman/patman.h:
2827         * plugins/triple_oscillator/triple_oscillator.h:
2828         * plugins/triple_oscillator/triple_oscillator.cpp:
2829         * plugins/audio_file_processor/audio_file_processor.cpp:
2830         * plugins/audio_file_processor/audio_file_processor.h:
2831         * plugins/sf2_player/sf2_player.cpp:
2832         * plugins/sf2_player/sf2_player.h:
2833         * plugins/vestige/vestige.cpp:
2834         * plugins/vestige/vestige.h:
2835         * plugins/flp_import/flp_import.cpp:
2836         * plugins/midi_import/midi_import.cpp:
2837         * include/engine.h:
2838         * include/file_browser.h:
2839         * include/preset_preview_play_handle.h:
2840         * include/plugin.h:
2841         * include/remote_plugin.h:
2842         * include/sample_play_handle.h:
2843         * src/core/engine.cpp:
2844         * src/core/plugin.cpp:
2845         * src/core/preset_preview_play_handle.cpp:
2846         * src/gui/file_browser.cpp:
2847         * src/gui/main_window.cpp:
2848         * src/gui/track_container_view.cpp:
2849         - rewrote the way plugins can handle certain filetypes
2850         - rewrote various parts of file-browser to be less redundant and
2851           more stable (closes #2071891)
2853         * data/themes/default/sample_file.png:
2854         renamed from sound_file.png
2856         * include/midi.h:
2857         * src/core/midi/midi_client.cpp:
2858         * src/core/midi/midi_port.cpp:
2859         * src/core/midi/midi_alsa_seq.cpp:
2860         fixed MIDI output channel issues (closes #2098722)
2862         * include/graph.h:
2863         * src/gui/widgets/graph.cpp:
2864         integrated patch by Attila Herman which adds support for colorized
2865         graph and quantized values
2867         * src/core/config_mgr.cpp:
2868         made default VST path to be inside LMMS working directory
2870         * src/gui/track_container_view.cpp:
2871         changed size constraint for scrollArea-widget layout - fixes messed up
2872         Song Editor after loading various projects
2874         * src/gui/main_window.cpp:
2875         set QMdiArea::DontMaximizeSubWindowOnActivation option for not
2876         crashing when loading project while a subwindow is maximized (this
2877         looks like a bug in Qt) (closes #2077774)
2879         * src/gui/controller_connection_dialog.cpp:
2880         fixed crash when closing controller select dialog and no controller
2881         has been selected (closes #2078357)
2883         * include/track_container.h:
2884         * src/core/song.cpp:
2885         * src/core/track_container.cpp:
2886         display message if project is empty and user tries to export
2887         it (closes #2091056)
2889         * src/core/song.cpp:
2890         - fixed freeze after adding BB-tracks (closes #2089337)
2891         - replaced bad cast for calling projectNotes::save/restoreState by
2892           proper C++ construct
2894         * include/controller_rack_view.h:
2895         * include/fx_mixer_view.h:
2896         * include/main_window.h:
2897         * include/piano_roll.h:
2898         * include/project_notes.h:
2899         * include/track_container.h:
2900         * include/track_container_view.h:
2901         * src/core/song.cpp:
2902         * src/core/track_container.cpp:
2903         * src/gui/fx_mixer_view.cpp:
2904         * src/gui/main_window.cpp:
2905         * src/gui/track_container_view.cpp:
2906         * src/gui/widgets/controller_rack_view.cpp:
2907         * src/tracks/instrument_track.cpp:
2908         properly save and restore position, size, visibility and state of
2909         MDI-subwindows (closes #2072383)
2911         * src/core/serializing_object.cpp:
2912         fixed hook-mechanism
2914         * include/song_editor.h:
2915         * src/gui/song_editor.cpp:
2916         * src/gui/fx_mixer_view.cpp:
2917         * src/gui/widgets/visualization_widget.cpp:
2918         * plugins/spectrum_analyzer/spectrumanalyzer_control_dialog.cpp:
2919         moved peridic update-timer from songEditor to mainWindow
2921         * data/projects/cool_songs/Chris-HorizonRemix.mmp:
2922         added song
2924 2008-09-06      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
2926         * data/themes/default/background_artwork.png:
2927         added more decent background artwork
2929         * plugins/ladspa_effect/ladspa_subplugin_features.cpp:
2930         * include/ladspa_base.h:
2931         save LADSPA effect filenames without extension and add correct
2932         one (depending on platform built for) when loading settings - fixes
2933         missing effects when loading songs in Windows which were made in Linux
2934         and vice versa
2936         * include/audio_pulseaudio.h:
2937         added information about bad latency when using PulseAudio output
2939         * plugins/vestige/vestige.cpp:
2940         * plugins/vestige/vestige.h:
2941         only use MIDI anymore for controlling VST instruments
2943         * plugins/lb302/lb302.cpp:
2944         * include/note.h:
2945         * include/instrument_track.h:
2946         * include/midi.h:
2947         * include/note_play_handle.h:
2948         * src/tracks/instrument_track.cpp:
2949         * src/core/preset_preview_play_handle.cpp:
2950         * src/core/note_play_handle.cpp:
2951         * src/core/instrument_functions.cpp:
2952         * src/core/piano.cpp:
2953         - improved the way, MIDI-events are internally sent and handled
2954         - fixed names of various member methods of notePlayHandle class
2955         - full MIDI velocity when pressing key on test piano
2956         - send volume changes of a notePlayHandle as MidiKeyPressure events
2957         - send pitch changes of instrument track as MidiPitchBend events
2958         - added detection for running MIDI notes
2959         - correct calculation of MIDI key - makes remotePlugins respect
2960           base note settings
2962         * src/core/midi/midi_port.cpp:
2963         * src/core/midi/midi_alsa_seq.cpp:
2964         fixed broken MIDI-output (when masking output events it didn't match
2965         against correct output MIDI channel)
2967 2008-09-06      Csaba Hruska <csaba.hruska/at/gmail.com>
2969         * plugins/sid/sid_instrument.cpp:
2970         Fixed overlapping notes distorsion SID bug.
2971         Some warnings are also had removed.
2973 2008-09-05      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
2975         * include/lmms_style.h:
2976         * src/gui/lmms_style.cpp:
2977         * src/core/main.cpp:
2978         - moved palette initialization into lmmsStyle class
2979         - added a hack for making titlebar text colors in QMdiSubWindows
2980           common on all platforms
2982 2008-09-04      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
2984         * plugins/vst_base/vst_plugin.cpp:
2985         hold lock while dumping parameters
2987         * include/remote_plugin.h:
2988         * lmmsconfig.h.in:
2989         * CMakeLists.txt:
2990         - set common numeric locale to make atof() work properly in Germany
2991         - increased SHM_FIFO_SIZE from 4000 to 64000 for not getting stuck
2992           when exchanging bigger messages (e.g. parameter dumps)
2994         * plugins/vst_base/vst_plugin.h:
2995         * plugins/vst_base/remote_vst_plugin.cpp:
2996         * plugins/vst_base/communication.h:
2997         * plugins/vst_base/vst_plugin.cpp:
2998         * plugins/vst_base/CMakeLists.txt:
2999         * include/text_float.h:
3000         * include/remote_plugin.h:
3001         * CMakeLists.txt:
3002         made VST support layer work on native win32
3004 2008-09-03      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
3006         * plugins/vst_base/communication.h:
3007         * plugins/vst_base/vst_plugin.h:
3008         * plugins/vst_base/vst_plugin.cpp:
3009         * plugins/vst_base/remote_vst_plugin.cpp:
3010         * plugins/vst_base/CMakeLists.txt:
3011         * plugins/vst_effect/vst_effect.h:
3012         * plugins/vst_effect/vst_effect.cpp:
3013         * plugins/vestige/vestige.h:
3014         * plugins/vestige/vestige.cpp:
3015         * include/aeffectx.h:
3016         rewrote VST support layer to use the new remotePlugin-framework
3018         * include/remote_plugin.h:
3019         * src/core/remote_plugin.cpp:
3020         - added channel splitting mode
3021         - made initial wait optional
3022         - messages now can be constructed and set inline
3024         * CMakeLists.txt:
3025         added hint about removing CMakeCache.txt when libsndfile is missing
3027 2008-09-02      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
3029         * cmake/modules/Win32Toolchain.cmake:
3030         added include and library-directory of cross compiling environment
3032         * include/remote_plugin.h:
3033         use QSystemSemaphore in win32-version as libpthread-w32 does not
3034         support process shared mutexes and semaphores
3036         * src/core/mixer.cpp:
3037         disabled WinMM MIDI for the time being
3039 2008-09-02      Paul Giblock <drfaygo/at/gmail/dot/com>
3041         * src/gui/widgets/graph.cpp:
3042         Display crosshair cursor as a hint to the user
3044         * src/gui/piano_roll.cpp:
3045         Change Piano-Roll paste behavior. Instead of pasting at 0, paste at the
3046         quantized location of the time-line's position-indicator
3048         * src/gui/main_window.cpp:
3049         Display waiting cursor when loading project.  Really only helps when
3050         loading a large song while another is loaded.  Provides feedback before
3051         the loading dialog appears (I guess this is during project close)
3053         * src/core/automation_pattern.cpp:
3054         Don't connect to the same model more than once
3056 2008-09-01      Paul Giblock <drfaygo/at/gmail/dot/com>
3058         * include/track_container.h:
3059         * src/core/song.cpp:
3060         * src/core/track_container.cpp:
3061         * src/core/track.cpp:
3062         Add locking to trackContainer::m_tracks and clean up some const-ness
3063         This should fix most crashes causes by moving/adding TCOs.  This also
3064         seems to fix the no-sound bug that I hate so much
3066         * plugins/bit_invader/logo.png:
3067         * plugins/bit_invader/artwork.png:
3068         Improve BitInvader logo
3070         * data/lmms.desktop:
3071         * lmms.1:
3072         A more consise description for English
3074 2008-09-02      Csaba Hruska <csaba.hruska/at/gmail.com>
3076         * include/song.h:
3077         * src/core/song.cpp:
3078         * src/gui/song_editor.cpp:
3079         * src/tracks/sample_track.cpp:
3080         added implementation for recordAndPlay button
3081         record button is disabled because it is not handled yet
3083 2008-08-31      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
3085         * include/remote_plugin.h:
3086         * src/core/remote_plugin.cpp:
3087         * lmmsconfig.h.in:
3088         * CMakeLists.txt:
3089         added shmFifo class which replaces communication via pipes and is
3090         portable as well
3092 2008-08-29      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
3094         * plugins/sid/sid_instrument.cpp:
3095         * plugins/ladspa_effect/ladspa_effect.cpp:
3096         * plugins/patman/patman.cpp:
3097         * plugins/lb302/lb302.cpp:
3098         * plugins/organic/organic.cpp:
3099         * plugins/stereo_matrix/stereo_matrix.cpp:
3100         * plugins/bass_booster/bass_booster.cpp:
3101         * plugins/bit_invader/bit_invader.cpp:
3102         * plugins/vst_effect/vst_effect.cpp:
3103         * plugins/vibed/vibed.cpp:
3104         * plugins/triple_oscillator/triple_oscillator.cpp:
3105         * plugins/live_tool/live_tool.cpp:
3106         * plugins/peak_controller_effect/peak_controller_effect.cpp:
3107         * plugins/audio_file_processor/audio_file_processor.cpp:
3108         * plugins/audio_file_processor/audio_file_processor.h:
3109         * plugins/stk/mallets/mallets.cpp:
3110         * plugins/stereo_enhancer/stereo_enhancer.cpp:
3111         * plugins/sf2_player/sf2_player.cpp:
3112         * plugins/sf2_player/sf2_player.h:
3113         * plugins/vestige/vestige.cpp:
3114         * plugins/ladspa_browser/ladspa_browser.cpp:
3115         * plugins/spectrum_analyzer/spectrum_analyzer.cpp:
3116         * plugins/kicker/kicker.cpp:
3117         * plugins/flp_import/flp_import.cpp:
3118         * plugins/midi_import/midi_import.cpp:
3119         * include/plugin.h:
3120         * include/instrument_track.h:
3121         * include/instrument.h:
3122         * include/file_browser.h:
3123         * include/preset_preview_play_handle.h:
3124         * src/core/engine.cpp:
3125         * src/core/preset_preview_play_handle.cpp:
3126         * src/gui/file_browser.cpp:
3127         - improved concept for file types supported by certain plugins
3128         - various small improvements for an even better ZynAddSubFX integration
3130         * src/tracks/instrument_track.cpp:
3131         pass all MIDI events to instrument
3133         * include/remote_plugin.h:
3134         * src/core/remote_plugin.cpp:
3135         added remotePlugin-framework allowing to easily write plugins which
3136         actually run as external process
3138 2008-08-28      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
3140         * plugins/vst_base/lvsl_client.cpp:
3141         * plugins/vst_base/lvsl_server.cpp:
3142         * plugins/vst_base/CMakeLists.txt:
3143         fixed broken VST-support
3145         * CMakeLists.txt:
3146         completed information about packages needed for building VST support
3147         on 64 bit machines (thanks to Stephane Thomas!)
3149 2008-08-28      Csaba Hruska <csaba.hruska/at/gmail.com>
3151         * include/audio_portaudio.h:
3152         * src/core/audio/audio_portaudio.cpp:
3153         fixed segfault in PortAudio's setup widget
3154         fixed hangon on PortAudio exit
3156 2008-08-27      Csaba Hruska <csaba.hruska/at/gmail.com>
3158         * include/audio_portaudio.h:
3159         * src/core/audio/audio_portaudio.cpp:
3160         PortAudio V18 and V19 are supported now
3161         
3162         * cmake/modules/FindPortaudio.cmake:
3163         * include/audio_portaudio.h:
3164         * src/core/audio/audio_portaudio.cpp:
3165         * src/gui/setup_dialog.cpp:
3166         * lmmsconfig.h.in:
3167         * CMakeLists.txt:
3168         added support for PortAudio
3170         * include/mixer.h:
3171         * include/sample_record_handle.h:
3172         * include/song_editor.h:
3173         * include/sample_track.h:
3174         * include/audio_device.h:
3175         * src/gui/song_editor.cpp:
3176         * src/tracks/sample_track.cpp:
3177         * src/core/audio/audio_device.cpp:
3178         * src/core/mixer.cpp:
3179         * src/core/engine.cpp:
3180         * src/core/sample_record_handle.cpp:
3181         added basic support for recording sound into sample tracks
3183 2008-08-27      Paul Giblock <drfaygo/at/gmail/dot/com>
3185         * include/controller_view.h:
3186         * src/gui/widgets/controller_view.cpp:
3187         Add stub for controller help
3189         * src/gui/piano_roll.cpp:
3190         * data/themes/default/note_triplethalf.png:
3191         * data/themes/default/note_tripleteighth.png:
3192         * data/themes/default/note_tripletthirtysecond.png:
3193         * data/themes/default/note_tripletquarter.png:
3194         * data/themes/default/note_tripletsixteenth.png:
3195         - Add support for directly entering triplet notes
3196         - Add support for triplet Quantization
3197         - Switch grid layout for triplets
3198         - Add additional 32nd note grid resolution when zooming
3200 2008-08-26      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
3202         * cmake/modules/DetectMachine.cmake:
3203         * plugins/vst_base/CMakeLists.txt:
3204         * lmmsconfig.h.in:
3205         * CMakeLists.txt:
3206         improved detection of machine type
3208 2008-08-26      Paul Giblock <drfaygo/at/gmail/dot/com>
3210         * include/controller_connection.h:
3211         * include/controller.h:
3212         * include/controller_rack_view.h:
3213         * include/automatable_model.h:
3214         * include/controller_view.h:
3215         * src/gui/widgets/controller_rack_view.cpp:
3216         * src/gui/widgets/controller_view.cpp:
3217         * src/core/automatable_model.cpp:
3218         * src/core/controller_connection.cpp:
3219         * src/core/controller.cpp:
3220         Add basic support for delete.  The controller dialogs probably leak, and
3221         peakController isn't handled yet
3223 2008-08-24      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
3225         * CMakeLists.txt:
3226         made 0.4.0-beta2 release
3228 2008-08-24      Paul Giblock <drfaygo/at/gmail/dot/com>
3230         * plugins/sid/sid_instrument.cpp:
3231         Fix what's this text with extra arg value.
3233 2008-08-23      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
3235         * cmake/modules/BuildPlugin.cmake:
3236         added missing dependency to bin2res-target in order to build properly
3237         when using "make -jX"
3239         * CMakeLists.txt:
3240         improved summary page (specific information on what to do if a certain
3241         feature isn't enabled because something was missing)
3243 2008-08-23      Paul Giblock <drfaygo/at/gmail/dot/com>
3245         * plugins/bit_invader/bit_invader.cpp:
3246         * plugins/vibed/vibed.cpp:
3247         * plugins/triple_oscillator/triple_oscillator.cpp:
3248         * plugins/audio_file_processor/audio_file_processor.cpp:
3249         * src/gui/piano_roll.cpp:
3250         * src/gui/lfo_controller_dialog.cpp:
3251         * src/gui/main_window.cpp:
3252         * src/gui/song_editor.cpp:
3253         * src/gui/widgets/instrument_sound_shaping_view.cpp:
3254         * src/gui/widgets/envelope_and_lfo_view.cpp:
3255         * src/gui/widgets/instrument_function_views.cpp:
3256         * src/gui/widgets/effect_view.cpp:
3257         * src/gui/automation_editor.cpp:
3258         * src/gui/bb_editor.cpp:
3259         * src/core/envelope_and_lfo_parameters.cpp:
3260         * src/core/mmp.cpp:
3261         Fix English grammer, punctuation, and hard to read strings
3263 2008-08-23      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
3265         * src/gui/automatable_model_view.cpp:
3266         coding style fixes
3268         * src/gui/string_pair_drag.cpp:
3269         if no pixmap was given and parent-widget is valid, use a snapshot of
3270         the widget as drag-icon
3272         * src/tracks/instrument_track.cpp:
3273         added display-name for baseNoteModel
3275         * src/core/piano.cpp:
3276         made base-note automatable via drag'n'drop
3278 2008-08-22      Paul Giblock <drfaygo/at/gmail/dot/com>
3280         * include/automatable_model.h:
3281         * src/gui/automation_editor.cpp:
3282         * src/gui/lmms_style.cpp:
3283         * src/core/lfo_controller.cpp:
3284         Fix various casting warnings
3286         * src/core/audio/audio_alsa.cpp:
3287         Fix warning about obsolete snd_pcm_sw_params_set_xfer_align().  
3288         ALSA >= 1.0.16 defaults to 1 now.
3290 2008-08-22      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
3292         * src/core/main.cpp:
3293         fixed splash-screen for win32
3295         * src/core/sample_buffer.cpp:
3296         fixed sampleBuffer::tryToMakeRelative() for win32 - paths to samples
3297         are now saved relative in win32-version too (if possible)
3299         * src/core/piano.cpp:
3300         fixed keycodes for win32 version
3302         * include/midi_winmm.h:
3303         fixed missing virtual method
3305         * include/bb_track_container.h:
3306         * include/track.h:
3307         * src/core/track.cpp:
3308         * src/tracks/bb_track.cpp:
3309         implemented correct behaviour when cloning BB-tracks (closes #2042409)
3311         * src/core/midi/midi_alsa_seq.cpp:
3312         fixed strange ALSA-sequencer behaviour when using MIDI-controllers and
3313         controlling intrument-tracks via MIDI (closes #2062907)
3315         * src/gui/piano_roll.cpp:
3316         fixed notes appearing multiple times in pattern when recording from
3317         MIDI-device (closes #2058971)
3319         * src/gui/automation_editor.cpp:
3320         fixed selection of all bars via Ctrl+A (closes #2048163)
3322         * plugins/audio_file_processor/audio_file_processor.cpp:
3323         * plugins/audio_file_processor/audio_file_processor.h:
3324         * include/sample_buffer.h:
3325         * src/core/sample_buffer.cpp:
3326         fixed crashes when automating start- and end-point in
3327         AudioFileProcessor (closes #2048125)
3329         * include/oscillator.h:
3330         made oscillator::userWaveSample() const
3332         * include/instrument_track.h:
3333         * src/gui/file_browser.cpp:
3334         * src/tracks/instrument_track.cpp:
3335         fixed loading presets when dragging them onto existing
3336         instrument-track-window (finally closes #2025902)
3338         * src/gui/piano_roll.cpp:
3339         fixed moving selected notes (closes #2039248, #2039254, #2043463)
3341 2008-08-20      dieEasy <dieeasy/at/cheapnet/dot/it>
3343         * data/locale/it.qm:
3344         * data/locale/it.ts:
3345         updated Italian localization-file
3347 2008-08-20      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
3349         * include/automatable_model.h:
3350         restored old controller-behaviour for all models whose step-size is
3351         not 1, i.e. only round for integer models
3353         * plugins/sid/sid_instrument.h:
3354         * plugins/sid/test.png:
3355         * plugins/sid/sid_instrument.cpp:
3356         * plugins/sid/testred.png:
3357         integrated patch by Csaba Hruska
3359         * src/core/plugin.cpp:
3360         fixed messages
3362         * src/core/config_mgr.cpp:
3363         add trailing slashes to paths where necessary (closes #2056353)
3365         * data/locale/de.qm:
3366         * data/locale/de.ts:
3367         updated German localization file and fixed various messages
3369         * include/track.h:
3370         * include/track_label_button.h:
3371         * src/tracks/bb_track.cpp:
3372         update combobox in BB-editor when renaming BB-track (closes #2056354)
3374         * include/controller.h:
3375         * src/gui/widgets/knob.cpp:
3376         only skip GUI-updates when connected to frequently changing controllers
3378         * include/automatable_model.h:
3379         when connected to controller and returning current value, respect
3380         step-property of automatableModel
3382         * src/gui/widgets/instrument_midi_io_view.cpp:
3383         minor UI improvements
3385         * include/midi_winmm.h:
3386         * include/mixer.h:
3387         * src/core/midi/midi_controller.cpp:
3388         * src/core/midi/midi_port.cpp:
3389         * src/core/midi/midi_winmm.cpp:
3390         * src/core/mixer.cpp:
3391         * src/gui/controller_connection_dialog.cpp:
3392         * src/tracks/instrument_track.cpp:
3393         cleanups and coding-style fixes
3395         * src/core/midi/midi_alsa_seq.cpp:
3396         * src/core/midi/midi_port.cpp:
3397         - fixed crash when changing mode of midiPort
3398         - various small improvements
3400         * include/instrument_track.h:
3401         * src/core/note_play_handle.cpp:
3402         made midiPort of instrumentTrack accessible via getMidiPort()
3404 2008-08-19      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
3406         * plugins/sf2_player/sf2_player.cpp:
3407         fixed reverb/chorus after change of samplerate
3409         * src/core/main.cpp:
3410         * lmms.1:
3411         improved documentation of commandline options
3413         * src/core/main.cpp:
3414         * src/core/project_renderer.cpp:
3415         improved progress information when rendering at console
3417 2008-08-18      Paul Giblock <drfaygo/at/gmail/dot/com>
3419         * include/controller.h:
3420         * src/core/controller.cpp:
3421         * src/gui/automatable_model_view.cpp:
3422         * src/gui/controller_connection_dialog.cpp:
3423         Detect loops before allowing controller-connection
3425         * src/core/peak_controller.cpp:
3426         Changes displayName from LFO to Peak
3428 2008-08-07      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
3430         * CMakeLists.txt:
3431         made 0.4.0-beta1 release
3433         * plugins/sid/sid_instrument.h:
3434         removed unused slot-definitions
3436         * CMakeLists.txt:
3437         added missing lmmsconfig.h.in for dist target
3439 2008-08-05      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
3441         * plugins/sid/wave8580__ST.cc:
3442         * plugins/sid/spline.h:
3443         * plugins/sid/3off.png:
3444         * plugins/sid/8580red.png:
3445         * plugins/sid/trianglered.png:
3446         * plugins/sid/logo.png:
3447         * plugins/sid/bp.png:
3448         * plugins/sid/6581.png:
3449         * plugins/sid/wave.cc:
3450         * plugins/sid/8580.png:
3451         * plugins/sid/pot.h:
3452         * plugins/sid/syncred.png:
3453         * plugins/sid/hp.png:
3454         * plugins/sid/sid_instrument.h:
3455         * plugins/sid/lp.png:
3456         * plugins/sid/sync.png:
3457         * plugins/sid/noise.png:
3458         * plugins/sid/wave8580_PST.cc:
3459         * plugins/sid/envelope.cc:
3460         * plugins/sid/extfilt.cc:
3461         * plugins/sid/envelope.h:
3462         * plugins/sid/extfilt.h:
3463         * plugins/sid/pulsered.png:
3464         * plugins/sid/siddefs.h:
3465         * plugins/sid/filter.png:
3466         * plugins/sid/sawred.png:
3467         * plugins/sid/wave6581_PS_.cc:
3468         * plugins/sid/3offred.png:
3469         * plugins/sid/pulse.png:
3470         * plugins/sid/artwork.png:
3471         * plugins/sid/saw.png:
3472         * plugins/sid/CMakeLists.txt:
3473         * plugins/sid/wave8580_P_T.cc:
3474         * plugins/sid/wave6581__ST.cc:
3475         * plugins/sid/bpred.png:
3476         * plugins/sid/6581red.png:
3477         * plugins/sid/ring.png:
3478         * plugins/sid/hpred.png:
3479         * plugins/sid/pot.cc:
3480         * plugins/sid/sid_instrument.cpp:
3481         * plugins/sid/triangle.png:
3482         * plugins/sid/wave.h:
3483         * plugins/sid/voice.cc:
3484         * plugins/sid/lpred.png:
3485         * plugins/sid/noisered.png:
3486         * plugins/sid/voice.h:
3487         * plugins/sid/wave6581_PST.cc:
3488         * plugins/sid/sid.cc:
3489         * plugins/sid/filterred.png:
3490         * plugins/sid/sid.h:
3491         * plugins/sid/version.cc:
3492         * plugins/sid/filter.cc:
3493         * plugins/sid/filter.h:
3494         * plugins/sid/wave6581_P_T.cc:
3495         * plugins/sid/wave8580_PS_.cc:
3496         * plugins/sid/ringred.png:
3497         * plugins/CMakeLists.txt:
3498         added SID instrument plugin by Attila Herman and Csaba Hruska
3500         * src/gui/widgets/automatable_button.cpp:
3501         show context-menu of button-group if a button is part of it
3503         * plugins/sf2_player/sf2_player.cpp:
3504         - query data from correct model when activating reverb (closes #2035134)
3505         - convert from note-play-handle's volume to MIDI-velocity when calling
3506           fluid_synth_noteon()
3507         - set fluidsynth's internal interpolation-method to high-quality when
3508           running LMMS in HQ-mode
3510 2008-08-04      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
3512         * plugins/ladspa_effect/ladspa_effect.cpp:
3513         * plugins/ladspa_effect/ladspa_subplugin_features.cpp:
3514         * plugins/vst_effect/vst_subplugin_features.cpp:
3515         * plugins/vst_effect/vst_effect.cpp:
3516         * plugins/vst_effect/vst_effect_controls.cpp:
3517         * include/plugin.h:
3518         * include/base64.h:
3519         * include/ladspa_base.h:
3520         * src/core/plugin.cpp:
3521         * src/core/effect_chain.cpp:
3522         * src/core/mmp.cpp:
3523         * src/core/ladspa_manager.cpp:
3524         * CMakeLists.txt:
3525         use XML rather than binary blobs for saving plugin-/effect-key
3527         * src/core/project_journal.cpp:
3528         use random-number-generator correctly - fixes predictable random
3529         numbers and avoids used Journalling-Object-IDs upon loading
3530         project (closes #2036745) - anyways this still might happen under rare
3531         circumstances and needs a further fix
3533 2008-08-03      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
3535         * include/lmms_math.h:
3536         * src/core/oscillator.cpp:
3537         made oscillator-phase always being positive which allows further
3538         optimizations of fraction()-method
3540 2008-08-01      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
3542         * include/visualization_widget.h:
3543         * src/gui/widgets/visualization_widget.cpp:
3544         improved anti-aliased visualization
3546         * src/core/sample_buffer.cpp:
3547         heavily improved performance by using QPainter::drawPolylines and
3548         disabling anti-aliasing if more than 60000 samples have to be
3549         drawn (closes #1938413)
3551         * src/core/midi/midi_winmm.cpp:
3552         added debug-code
3554         * src/core/song.cpp:
3555         do not reset window title twice when creating new project
3557         * src/core/main.cpp:
3558         when creating a new project, show main-window afterwards - fixes
3559         behaviour when debugging win32-version via WINE
3561         * cmake/modules/BuildPlugin.cmake:
3562         * plugins/ladspa_effect/tap/CMakeLists.txt:
3563         * plugins/ladspa_effect/caps/CMakeLists.txt:
3564         * data/CMakeLists.txt:
3565         * data/nsis_branding.bmp:
3566         * CMakeLists.txt:
3567         * lmms.rc.in:
3568         - made cmake-files ready for NSIS-packaging
3569         - added win-resource-object to LMMS-binary
3571         * plugins/sf2_player/patches_dialog.cpp:
3572         * plugins/sf2_player/sf2_player.cpp:
3573         * plugins/sf2_player/patches_dialog.h:
3574         * plugins/sf2_player/sf2_player.h:
3575         * data/themes/default/style.css:
3576         - integrated patch by Csaba Hruska
3577         - fixed spinbox-ranges
3579         * plugins/vst_base/CMakeLists.txt:
3580         fixed include-directories for lvsl_server-target for allowing
3581         out-of-tree builds
3583 2008-07-31      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
3585         * CMakeLists.txt:
3586         added win32-pkg target
3588         * include/fft_helpers.h:
3589         added missing EXPORT-declarations
3591         * src/core/midi/midi_winmm.cpp:
3592         removed some debugging code
3594 2008-07-30      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
3596         * include/track.h:
3597         * src/core/track.cpp:
3598         * src/gui/file_browser.cpp:
3599         * src/tracks/instrument_track.cpp:
3600         added simple-serializing mode which makes tracks not save their TCOs -
3601         used for improved save and restore of presets (closes #2025902)
3603         * src/gui/widgets/effect_view.cpp:
3604         do not cast model to effect for only calling displayName()
3606         * src/gui/widgets/effect_rack_view.cpp:
3607         - initialize bool-map with correct size - fixes crashes under various
3608           circumstances
3609         - do not cast model of effectView as the effect might not exist
3610           anymore
3612         * data/presets/TripleOscillator/Steel.cs.xml:
3613         * data/presets/TripleOscillator/SawLead.cs.xml:
3614         * data/presets/TripleOscillator/Bass.cs.xml:
3615         * data/presets/TripleOscillator/E-Organ.cs.xml:
3616         * data/presets/TripleOscillator/FM-Wood-Arp.cs.xml:
3617         * data/presets/TripleOscillator/Harmonium.cs.xml:
3618         * data/presets/TripleOscillator/NostalgicFeelings.cs.xml:
3619         * data/presets/TripleOscillator/Moog.cs.xml:
3620         * data/presets/TripleOscillator/SawLead2.cs.xml:
3621         * data/presets/TripleOscillator/HardClipping.cs.xml:
3622         * data/presets/TripleOscillator/RaveBass.cs.xml:
3623         * data/presets/TripleOscillator/EvilHardcore.cs.xml:
3624         * data/presets/TripleOscillator/Distorted-FM-Bass_2.cs.xml:
3625         * data/presets/TripleOscillator/ShortBass.cs.xml:
3626         * data/presets/TripleOscillator/Crystallo.cs.xml:
3627         * data/presets/TripleOscillator/Fear.cs.xml:
3628         * data/presets/TripleOscillator/HorrorBass.cs.xml:
3629         * data/presets/TripleOscillator/Default.cs.xml:
3630         * data/presets/TripleOscillator/SoftStrings.cs.xml:
3631         * data/presets/TripleOscillator/RaveBass_2.cs.xml:
3632         * data/presets/TripleOscillator/Warmth.cs.xml:
3633         * data/presets/TripleOscillator/Beam.cs.xml:
3634         * data/presets/TripleOscillator/SquareLead2.cs.xml:
3635         * data/presets/TripleOscillator/Weird.cs.xml:
3636         * data/presets/TripleOscillator/LFO-party.cs.xml:
3637         * data/presets/TripleOscillator/Nice.cs.xml:
3638         * data/presets/TripleOscillator/ChurchOrgan_2.cs.xml:
3639         * data/presets/TripleOscillator/SoftBass.cs.xml:
3640         * data/presets/TripleOscillator/Stranger.cs.xml:
3641         * data/presets/TripleOscillator/TB303-Arpeggio.cs.xml:
3642         * data/presets/TripleOscillator/E-Piano.cs.xml:
3643         * data/presets/TripleOscillator/PluckArpeggio.cs.xml:
3644         * data/presets/TripleOscillator/WarmStack.cs.xml:
3645         * data/presets/TripleOscillator/Square.cs.xml:
3646         * data/presets/TripleOscillator/MyComputer.cs.xml:
3647         * data/presets/TripleOscillator/Simple-Acid-Bass.cs.xml:
3648         * data/presets/TripleOscillator/MoogArpeggio.cs.xml:
3649         * data/presets/TripleOscillator/Jupiter.cs.xml:
3650         * data/presets/TripleOscillator/AnalogTimes2.cs.xml:
3651         * data/presets/TripleOscillator/SquareLead.cs.xml:
3652         * data/presets/TripleOscillator/TB303.cs.xml:
3653         * data/presets/TripleOscillator/Detuned-Synced-FM-Bass.cs.xml:
3654         * data/presets/TripleOscillator/ChurchOrgan.cs.xml:
3655         * data/presets/TripleOscillator/SquareArp.cs.xml:
3656         * data/presets/TripleOscillator/OldComputerGames.cs.xml:
3657         removed old raw presets, tuned others and added a few new ones
3659         * plugins/stk/mallets/mallets.cpp:
3660         detect incomplete Stk-installation in model rather than view for not
3661         crashing when playing without opening the GUI before
3663         * src/core/main.cpp:
3664          - added --dump parameter for easily uncompressing mmpz-files
3665          - try to set realtime priority after command-line parsing as the
3666            resulting warning might be annoying at this place
3667         - moved initialization of RNG to top of main()
3669         * src/core/mmp.cpp:
3670         quirks for loading drumsynth-samples whose directory-names have
3671         changed from space to underscore
3673 2008-07-29      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
3675         * plugins/ladspa_effect/tap/CMakeLists.txt:
3676         * plugins/ladspa_effect/caps/CMakeLists.txt:
3677         fixed linker-flags
3679         * plugins/spectrum_analyzer/spectrum_analyzer.cpp:
3680         * plugins/spectrum_analyzer/spectrum_analyzer.h:
3681         * include/fft_helpers.h:
3682         * src/core/fft_helpers.cpp:
3683         * lmmsconfig.h.in:
3684         moved FFT-helper functions from Spectrum Analyzer plugin to core to
3685         make it also usable by other plugins
3687 2008-07-28      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
3689         * plugins/ladspa_effect/ladspa_controls.cpp:
3690         * plugins/lb302/lb302.cpp:
3691         * plugins/lb303/lb303.cpp:
3692         * plugins/stereo_matrix/stereomatrix_controls.cpp:
3693         * plugins/bass_booster/bassbooster_controls.cpp:
3694         * plugins/vst_effect/vst_effect_controls.cpp:
3695         * plugins/vibed/vibed.cpp:
3696         * plugins/triple_oscillator/triple_oscillator.cpp:
3697         * plugins/peak_controller_effect/peak_controller_effect_controls.cpp:
3698         * plugins/audio_file_processor/audio_file_processor.cpp:
3699         * plugins/stereo_enhancer/stereoenhancer_controls.cpp:
3700         * plugins/sf2_player/sf2_player.cpp:
3701         * plugins/vst_base/lvsl_client.cpp:
3702         * plugins/vst_base/lvsl_client.h:
3703         * plugins/kicker/kicker.cpp:
3704         * plugins/flp_import/flp_import.cpp:
3705         * plugins/midi_import/midi_import.cpp:
3706         * include/mmp.h:
3707         * include/effect.h:
3708         * include/meter_model.h:
3709         * include/automatable_slider.h:
3710         * include/song.h:
3711         * include/pch.h:
3712         * src/gui/main_window.cpp:
3713         * src/gui/song_editor.cpp:
3714         * src/gui/widgets/tempo_sync_knob.cpp:
3715         * src/gui/widgets/meter_dialog.cpp:
3716         * src/tracks/sample_track.cpp:
3717         * src/tracks/bb_track.cpp:
3718         * src/tracks/instrument_track.cpp:
3719         * src/tracks/pattern.cpp:
3720         * src/core/effect_chain.cpp:
3721         * src/core/midi/midi_controller.cpp:
3722         * src/core/midi/midi_port.cpp:
3723         * src/core/track_container.cpp:
3724         * src/core/serializing_object.cpp:
3725         * src/core/journalling_object.cpp:
3726         * src/core/config_mgr.cpp:
3727         * src/core/automatable_model.cpp:
3728         * src/core/instrument_sound_shaping.cpp:
3729         * src/core/mmp.cpp:
3730         * src/core/effect.cpp:
3731         * src/core/instrument_functions.cpp:
3732         * src/core/controller_connection.cpp:
3733         * src/core/note.cpp:
3734         * src/core/timeline.cpp:
3735         * src/core/surround_area.cpp:
3736         * src/core/automation_pattern.cpp:
3737         * src/core/inline_automation.cpp:
3738         * src/core/fx_mixer.cpp:
3739         * src/core/controller.cpp:
3740         * src/core/lfo_controller.cpp:
3741         * src/core/peak_controller.cpp:
3742         reduced header-dependencies
3744         * src/core/plugin.cpp:
3745         - don't show messagebox if no GUI is running
3746         - if plugin failed to load also tell about the reason
3748         * plugins/ladspa_effect/tap/CMakeLists.txt:
3749         * plugins/ladspa_effect/caps/CMakeLists.txt:
3750         * src/core/main.cpp:
3751         * cmake/modules/BuildPlugin.cmake:
3752         * lmmsconfig.h.in:
3753         * CMakeLists.txt:
3754         added support for building LMMS on OS X and generating a DMG-package
3756         * src/core/main.cpp:
3757         win32-compatibility
3759         * data/projects/cool_songs/StrictProduction-DearJonDoe.mmp:
3760         * data/projects/cool_songs/OrtalDj-FirstProyect.mmp:
3761         * data/projects/cool_songs/TobyDox-Psycho.mmp:
3762         * data/projects/cool_songs/TobyDox-Confused.mmp:
3763         * data/projects/cool_songs/Djeezus-BeatRolls.mmp:
3764         * data/projects/cool_songs/Lokori-Systematic_Chaos.mmp:
3765         * data/projects/cool_songs/StrictProduction-Underline.mmp:
3766         * data/projects/cool_songs/Djeezus-Oscilisous.mmp:
3767         * data/projects/cool_songs/Chris-RaveRiff.mmpz:
3768         * data/projects/cool_songs/TobyDox-TheFourthDimension.mmp:
3769         * data/projects/cool_songs/Mart-Concave_flow.mmp:
3770         * data/projects/cool_songs/MysthR-Living.mmpz:
3771         * data/projects/cool_songs/Marfil-MarfilDrum01.mmp:
3772         * data/projects/cool_songs/j1m-DingDong.mmp:
3773         * data/projects/cool_songs/Malex-Horizon4.mmp:
3774         * data/projects/cool_songs/Siegel-DreamWave.mmp:
3775         * data/projects/cool_songs/BlueWolf-DreamTravel.mmp:
3776         * data/projects/cool_songs/StrictProduction-Lamentelnes.mmp:
3777         * data/projects/cool_songs/OrtalDj-FirstProyect.mmpz:
3778         * data/projects/cool_songs/Silva-ElvesCall.mmp:
3779         upgraded projects to match current file format
3780         diffstat:  17 files changed, 12811 insertions(+), 37791 deletions(-)
3782         * include/song_editor.h:
3783         * src/core/song.cpp:
3784         make sure all TCOs are shown after loading project (closes #2016741)
3786         * src/core/automatable_model.cpp:
3787         when loading legacy automation with only one value in, eliminate
3788         global automation pattern right after loading data
3790         * src/core/main.cpp:
3791         - initialize random-number generation - fixes problems with duplicate
3792           JO-IDs
3793         - show main-window before loading project given on command-line or
3794           creating a new project (closes #2016741)
3796         * src/core/automation_pattern.cpp:
3797         fixed some segfaults in case of invalid objects in object-vector
3799         * src/core/mmp.cpp:
3800         - use QTextStream to save uncompressed XML-files
3801         - when encountering problems while parsing XML-file, print line and
3802           column of problem
3804 2008-07-27      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
3806         * src/gui/automation_editor.cpp:
3807         also allow drawing new dots when clicking inside already existing
3808         value (closes #2026120)
3810         * include/instrument_track.h:
3811         * src/tracks/instrument_track.cpp:
3812         reverted previous change of some models from floatModel to intModel as
3813         it caused crashes in knob-class
3815         * include/automation_pattern.h:
3816         * src/core/automation_pattern.cpp:
3817         when connecting object to automation-pattern which has no object
3818         connected yet, set default-value (closes #2026102)
3820         * plugins/vst_base/CMakeLists.txt:
3821         added missing support for out-of-tree builds
3823         * README:
3824         * INSTALL:
3825         updated documentation on how to build LMMS with cmake
3827 2008-07-26      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
3829         * data/locale/en.ts:
3830         * data/locale/pt_br.ts:
3831         * data/locale/es.ts:
3832         * data/locale/fr.ts:
3833         * data/locale/nl.ts:
3834         * data/locale/ir.ts:
3835         * data/locale/it.ts:
3836         * data/locale/ca.ts:
3837         * data/locale/de.ts:
3838         * data/locale/sv.ts:
3839         refreshed localizations
3840         diffstat:  10 files changed, 34785 insertions(+), 6862 deletions(-)
3842         * data/locale/ru.ts:
3843         added updated Russian localization by Alexey Kouznetsov
3845         * CMakeLists.txt:
3846         - added locale targets
3847         - added "update-locales" target
3848         - added "distclean" target
3849         - added "tarball" target
3851         * plugins/organic/organic.cpp:
3852         * plugins/triple_oscillator/triple_oscillator.cpp:
3853         * include/mixer.h:
3854         * include/sample_buffer.h:
3855         * include/oscillator.h:
3856         * include/types.h:
3857         * src/core/sample_play_handle.cpp:
3858         * src/core/sample_buffer.cpp:
3859         * src/core/oscillator.cpp:
3860         * lmmsconfig.h.in:
3861         * CMakeLists.txt:
3862         less header-dependencies and moved some type-definitions
3864 2008-07-23      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
3866         * data/locale/fr.qm:
3867         * data/locale/fr.ts:
3868         updated French localization-files by Stephane Thomas
3870         * cmake/modules/FindPkgConfig.cmake:
3871         * include/midi_winmm.h:
3872         * include/midi_alsa_seq.h:
3873         * CMakeLists.txt:
3874         * cmake/modules/BuildPlugin.cmake:
3875         support for cmake < 2.4.8
3877         * plugins/ladspa_effect/caps/CMakeLists.txt:
3878         do not compile with -O3 when using GCC 4.1.x as this version segfaults
3879         while optimizing
3881         * plugins/spectrum_analyzer/spectrum_analyzer.cpp:
3882         * include/effect_lib.h:
3883         fixed compiler-warnings
3885         * src/core/midi/midi_winmm.cpp:
3886         * src/core/midi/midi_alsa_seq.cpp:
3887         fixed subscribe/unsubscribe-warnings
3889         * CMakeLists.txt:
3890         fixes for cmake 2.4
3892 2008-07-22      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
3894         * cmake/modules/BuildPlugin.cmake:
3895         * plugins/patman/CMakeLists.txt:
3896         * plugins/ladspa_effect/CMakeLists.txt:
3897         * plugins/organic/CMakeLists.txt:
3898         * plugins/lb302/CMakeLists.txt:
3899         * plugins/lb303/CMakeLists.txt:
3900         * plugins/bass_booster/CMakeLists.txt:
3901         * plugins/stereo_matrix/CMakeLists.txt:
3902         * plugins/bit_invader/CMakeLists.txt:
3903         * plugins/vst_effect/CMakeLists.txt:
3904         * plugins/vibed/CMakeLists.txt:
3905         * plugins/triple_oscillator/CMakeLists.txt:
3906         * plugins/live_tool/CMakeLists.txt:
3907         * plugins/peak_controller_effect/CMakeLists.txt:
3908         * plugins/audio_file_processor/CMakeLists.txt:
3909         * plugins/stk/mallets/CMakeLists.txt:
3910         * plugins/stereo_enhancer/CMakeLists.txt:
3911         * plugins/sf2_player/CMakeLists.txt:
3912         * plugins/vestige/CMakeLists.txt:
3913         * plugins/ladspa_browser/CMakeLists.txt:
3914         * plugins/spectrum_analyzer/CMakeLists.txt:
3915         * plugins/kicker/CMakeLists.txt:
3916         * plugins/flp_import/CMakeLists.txt:
3917         * CMakeLists.txt:
3918         various fixes for allowing out-of-tree builds
3920         * CMakeLists.txt:
3921         - initial support for CPack
3922         - remove old include/lmmsconfig.h from the autotools-era
3924         * cmake/modules/InstallHelpers.cmake:
3925         fixed INSTALL_DATA_SUBDIRS-macro (use normal string-replace
3926         instead of regex-replace)
3928         * include/project_renderer.h:
3929         * src/core/project_renderer.cpp:
3930         also compile without OGG/Vorbis-support
3932         * cmake/modules/Win32Toolchain.cmake:
3933         * cmake/modules/BuildPlugin.cmake:
3934         * src/3rdparty/samplerate/config.h:
3935         * CMakeLists.txt:
3936         fixes for successfully cross-compiling
3938         * cmake/modules/Win32Toolchain.cmake:
3939         * cmake/modules/BuildPlugin.cmake:
3940         * plugins/ladspa_effect/tap/CMakeLists.txt:
3941         * plugins/ladspa_effect/caps/CMakeLists.txt:
3942         * plugins/vst_effect/CMakeLists.txt:
3943         * include/audio_sdl.h:
3944         * src/core/midi/midi_winmm.cpp:
3945         * build_mingw32:
3946         * CMakeLists.txt:
3947         initial support for mingw-cross-compiling
3949         * include/midi_alsa_seq.h:
3950         * include/midi_client.h:
3951         * include/midi_port.h:
3952         * include/midi_winmm.h:
3953         * src/core/mixer.cpp:
3954         * src/core/midi/midi_alsa_raw.cpp:
3955         * src/core/midi/midi_alsa_seq.cpp:
3956         * src/core/midi/midi_client.cpp:
3957         * src/core/midi/midi_oss.cpp:
3958         * src/core/midi/midi_winmm.cpp:
3959         * src/gui/setup_dialog.cpp:
3960         added rudimentary WinMM MIDI support
3962         * src/core/mmp.cpp:
3963         * plugins/lb302/lb302.h:
3964         * plugins/CMakeLists.txt:
3965         switched back to LB302 as Paul wants LB303 for 0.4.1
3967         * cmake/modules/FindAlsa.cmake:
3968         * cmake/modules/FindOggVorbis.cmake:
3969         * cmake/modules/FindSTK.cmake:
3970         * cmake/modules/FindPCHSupport.cmake:
3971         * cmake/modules/config-alsa.h.cmake:
3972         * cmake/modules/InstallHelpers.cmake:
3973         * cmake/modules/FindPulseAudio.cmake:
3974         * cmake/modules/ChecksForLibSamplerate.cmake:
3975         * cmake/modules/BuildPlugin.cmake:
3976         * plugins/patman/patman.cpp:
3977         * plugins/patman/CMakeLists.txt:
3978         * plugins/ladspa_effect/ladspa_effect.cpp:
3979         * plugins/ladspa_effect/tap/tap_deesser.c:
3980         * plugins/ladspa_effect/tap/tap_sigmoid.c:
3981         * plugins/ladspa_effect/tap/tap_doubler.c:
3982         * plugins/ladspa_effect/tap/ladspa-local.h:
3983         * plugins/ladspa_effect/tap/tap_eqbw.c:
3984         * plugins/ladspa_effect/tap/tap_pinknoise.c:
3985         * plugins/ladspa_effect/tap/tap_chorusflanger.c:
3986         * plugins/ladspa_effect/tap/tap_limiter.c:
3987         * plugins/ladspa_effect/tap/tap_eq.c:
3988         * plugins/ladspa_effect/tap/tap_vibrato.c:
3989         * plugins/ladspa_effect/tap/tap_autopan.c:
3990         * plugins/ladspa_effect/tap/tap_pitch.c:
3991         * plugins/ladspa_effect/tap/tap_dynamics_st.c:
3992         * plugins/ladspa_effect/tap/tap_echo.c:
3993         * plugins/ladspa_effect/tap/tap_tremolo.c:
3994         * plugins/ladspa_effect/tap/tap_tubewarmth.c:
3995         * plugins/ladspa_effect/tap/tap_dynamics_m.c:
3996         * plugins/ladspa_effect/tap/tap_reflector.c:
3997         * plugins/ladspa_effect/tap/tap_reverb.c:
3998         * plugins/ladspa_effect/tap/tap_rotspeak.c:
3999         * plugins/ladspa_effect/tap/CMakeLists.txt:
4000         * plugins/ladspa_effect/ladspa_control_dialog.cpp:
4001         * plugins/ladspa_effect/caps/basics.h:
4002         * plugins/ladspa_effect/caps/CMakeLists.txt:
4003         * plugins/ladspa_effect/ladspa_controls.cpp:
4004         * plugins/ladspa_effect/CMakeLists.txt:
4005         * plugins/organic/organic.cpp:
4006         * plugins/organic/CMakeLists.txt:
4007         * plugins/lb302/lb302.cpp:
4008         * plugins/lb302/CMakeLists.txt:
4009         * plugins/lb303/lb303.cpp:
4010         * plugins/lb303/CMakeLists.txt:
4011         * plugins/bass_booster/bassbooster_controls.cpp:
4012         * plugins/bass_booster/CMakeLists.txt:
4013         * plugins/stereo_matrix/stereomatrix_controls.cpp:
4014         * plugins/stereo_matrix/CMakeLists.txt:
4015         * plugins/bit_invader/bit_invader.cpp:
4016         * plugins/bit_invader/CMakeLists.txt:
4017         * plugins/vst_effect/vst_effect_controls.cpp:
4018         * plugins/vst_effect/CMakeLists.txt:
4019         * plugins/vibed/CMakeLists.txt:
4020         * plugins/vibed/nine_button_selector.cpp:
4021         * plugins/vibed/vibed.cpp:
4022         * plugins/triple_oscillator/CMakeLists.txt:
4023         * plugins/triple_oscillator/triple_oscillator.cpp:
4024         * plugins/live_tool/live_tool.cpp:
4025         * plugins/live_tool/CMakeLists.txt:
4026         * plugins/peak_controller_effect/peak_controller_effect.cpp:
4027         * plugins/peak_controller_effect/peak_controller_effect_controls.cpp:
4028         * plugins/peak_controller_effect/CMakeLists.txt:
4029         * plugins/audio_file_processor/audio_file_processor.cpp:
4030         * plugins/audio_file_processor/CMakeLists.txt:
4031         * plugins/stk/mallets/mallets.cpp:
4032         * plugins/stk/mallets/CMakeLists.txt:
4033         * plugins/stk/CMakeLists.txt:
4034         * plugins/stereo_enhancer/stereoenhancer_controls.cpp:
4035         * plugins/stereo_enhancer/CMakeLists.txt:
4036         * plugins/sf2_player/patches_dialog.cpp:
4037         * plugins/sf2_player/sf2_player.cpp:
4038         * plugins/sf2_player/CMakeLists.txt:
4039         * plugins/vestige/vestige.cpp:
4040         * plugins/vestige/CMakeLists.txt:
4041         * plugins/vst_base/lvsl_client.cpp:
4042         * plugins/vst_base/CMakeLists.txt:
4043         * plugins/ladspa_browser/ladspa_browser.cpp:
4044         * plugins/ladspa_browser/ladspa_description.cpp:
4045         * plugins/ladspa_browser/ladspa_port_dialog.cpp:
4046         * plugins/ladspa_browser/CMakeLists.txt:
4047         * plugins/spectrum_analyzer/spectrumanalyzer_controls.cpp:
4048         * plugins/spectrum_analyzer/CMakeLists.txt:
4049         * plugins/kicker/kicker.cpp:
4050         * plugins/kicker/CMakeLists.txt:
4051         * plugins/flp_import/CMakeLists.txt:
4052         * plugins/flp_import/unrtf/output.c:
4053         * plugins/flp_import/unrtf/html.c:
4054         * plugins/flp_import/unrtf/malloc.c:
4055         * plugins/flp_import/unrtf/parse.c:
4056         * plugins/flp_import/unrtf/attr.c:
4057         * plugins/flp_import/unrtf/word.c:
4058         * plugins/flp_import/unrtf/util.c:
4059         * plugins/flp_import/unrtf/convert.c:
4060         * plugins/flp_import/unrtf/hash.c:
4061         * plugins/flp_import/unrtf/error.c:
4062         * plugins/midi_import/CMakeLists.txt:
4063         * plugins/CMakeLists.txt:
4064         * Makefile.svn:
4065         * include/midi_dummy.h:
4066         * include/midi_alsa_raw.h:
4067         * include/config_mgr.h:
4068         * include/audio_file_wave.h:
4069         * include/audio_file_ogg.h:
4070         * include/ladspa_manager.h:
4071         * include/ladspa_control.h:
4072         * include/ladspa.h:
4073         * include/midi_oss.h:
4074         * include/pch.h:
4075         * include/sample_buffer.h:
4076         * include/audio_dummy.h:
4077         * include/midi_mapper.h:
4078         * include/audio_pulseaudio.h:
4079         * include/audio_sdl.h:
4080         * include/micro_timer.h:
4081         * include/audio_jack.h:
4082         * include/project_renderer.h:
4083         * include/midi_alsa_seq.h:
4084         * include/ladspa-1.1.h:
4085         * include/setup_dialog.h:
4086         * include/export_project_dialog.h:
4087         * include/midi_client.h:
4088         * include/audio_device.h:
4089         * include/audio_oss.h:
4090         * include/audio_alsa.h:
4091         * src/gui/piano_roll.cpp:
4092         * src/gui/track_container_view.cpp:
4093         * src/gui/plugin_browser.cpp:
4094         * src/gui/controller_dialog.cpp:
4095         * src/gui/automatable_model_view.cpp:
4096         * src/gui/effect_select_dialog.cpp:
4097         * src/gui/effect_control_dialog.cpp:
4098         * src/gui/fx_mixer_view.cpp:
4099         * src/gui/main_window.cpp:
4100         * src/gui/song_editor.cpp:
4101         * src/gui/setup_dialog.cpp:
4102         * src/gui/controller_connection_dialog.cpp:
4103         * src/gui/file_browser.cpp:
4104         * src/gui/widgets/ladspa_control_view.cpp:
4105         * src/gui/widgets/track_label_button.cpp:
4106         * src/gui/widgets/graph.cpp:
4107         * src/gui/widgets/visualization_widget.cpp:
4108         * src/gui/widgets/combobox.cpp:
4109         * src/gui/widgets/tab_widget.cpp:
4110         * src/gui/widgets/midi_port_menu.cpp:
4111         * src/gui/widgets/led_checkbox.cpp:
4112         * src/gui/widgets/side_bar_widget.cpp:
4113         * src/gui/widgets/controller_rack_view.cpp:
4114         * src/gui/widgets/kmultitabbar.cpp:
4115         * src/gui/widgets/caption_menu.cpp:
4116         * src/gui/widgets/instrument_sound_shaping_view.cpp:
4117         * src/gui/widgets/rename_dialog.cpp:
4118         * src/gui/widgets/envelope_and_lfo_view.cpp:
4119         * src/gui/widgets/pixmap_button.cpp:
4120         * src/gui/widgets/knob.cpp:
4121         * src/gui/widgets/instrument_function_views.cpp:
4122         * src/gui/widgets/fade_button.cpp:
4123         * src/gui/widgets/cpuload_widget.cpp:
4124         * src/gui/widgets/tab_bar.cpp:
4125         * src/gui/widgets/automatable_slider.cpp:
4126         * src/gui/widgets/group_box.cpp:
4127         * src/gui/widgets/lcd_spinbox.cpp:
4128         * src/gui/widgets/rubberband.cpp:
4129         * src/gui/widgets/tool_button.cpp:
4130         * src/gui/widgets/controller_view.cpp:
4131         * src/gui/widgets/project_notes.cpp:
4132         * src/gui/widgets/fader.cpp:
4133         * src/gui/widgets/effect_rack_view.cpp:
4134         * src/gui/widgets/effect_view.cpp:
4135         * src/gui/widgets/nstate_button.cpp:
4136         * src/gui/widgets/automatable_button.cpp:
4137         * src/gui/widgets/tempo_sync_knob.cpp:
4138         * src/gui/export_project_dialog.cpp:
4139         * src/gui/automation_editor.cpp:
4140         * src/gui/bb_editor.cpp:
4141         * src/gui/about_dialog.cpp:
4142         * src/tracks/sample_track.cpp:
4143         * src/tracks/bb_track.cpp:
4144         * src/tracks/instrument_track.cpp:
4145         * src/tracks/pattern.cpp:
4146         * src/3rdparty/samplerate/src_sinc.c:
4147         * src/3rdparty/samplerate/config.h:
4148         * src/core/midi/midi_controller.cpp:
4149         * src/core/midi/midi_mapper.cpp:
4150         * src/core/midi/midi_oss.cpp:
4151         * src/core/midi/midi_port.cpp:
4152         * src/core/midi/midi_alsa_seq.cpp:
4153         * src/core/midi/midi_alsa_raw.cpp:
4154         * src/core/song.cpp:
4155         * src/core/track_container.cpp:
4156         * src/core/bb_track_container.cpp:
4157         * src/core/config_mgr.cpp:
4158         * src/core/automatable_model.cpp:
4159         * src/core/audio/audio_alsa.cpp:
4160         * src/core/audio/audio_file_wave.cpp:
4161         * src/core/audio/audio_sdl.cpp:
4162         * src/core/audio/audio_oss.cpp:
4163         * src/core/audio/audio_jack.cpp:
4164         * src/core/audio/audio_pulseaudio.cpp:
4165         * src/core/audio/audio_file_ogg.cpp:
4166         * src/core/envelope_and_lfo_parameters.cpp:
4167         * src/core/main.cpp:
4168         * src/core/mixer.cpp:
4169         * src/core/combobox_model.cpp:
4170         * src/core/instrument_sound_shaping.cpp:
4171         * src/core/project_renderer.cpp:
4172         * src/core/meter_model.cpp:
4173         * src/core/ladspa_manager.cpp:
4174         * src/core/instrument_functions.cpp:
4175         * src/core/controller_connection.cpp:
4176         * src/core/ladspa_control.cpp:
4177         * src/core/track.cpp:
4178         * src/core/piano.cpp:
4179         * src/core/timeline.cpp:
4180         * src/core/surround_area.cpp:
4181         * src/core/sample_buffer.cpp:
4182         * src/core/mv_base.cpp:
4183         * src/core/automation_pattern.cpp:
4184         * src/core/lfo_controller.cpp:
4185         * src/core/controller.cpp:
4186         * src/core/peak_controller.cpp:
4187         * data/locale/CMakeLists.txt:
4188         * data/track_icons/CMakeLists.txt:
4189         * data/samples/CMakeLists.txt:
4190         * data/presets/PluckedStringSynth/Default.cs.xml:
4191         * data/presets/VeSTige/Default.cs.xml:
4192         * data/presets/CMakeLists.txt:
4193         * data/themes/CMakeLists.txt:
4194         * data/projects/CMakeLists.txt:
4195         * data/CMakeLists.txt:
4196         * lmmsconfig.h.in:
4197         * CMakeLists.txt:
4198         migrated build-system to CMAKE
4200         * plugins/patman/Makefile.am:
4201         * plugins/ladspa_effect/tap/Makefile.am:
4202         * plugins/ladspa_effect/caps/Makefile.am:
4203         * plugins/ladspa_effect/Makefile.am:
4204         * plugins/organic/Makefile.am:
4205         * plugins/lb302/Makefile.am:
4206         * plugins/lb303/Makefile.am:
4207         * plugins/bass_booster/Makefile.am:
4208         * plugins/stereo_matrix/Makefile.am:
4209         * plugins/bit_invader/Makefile.am:
4210         * plugins/vst_effect/Makefile.am:
4211         * plugins/vibed/Makefile.am:
4212         * plugins/triple_oscillator/Makefile.am:
4213         * plugins/live_tool/Makefile.am:
4214         * plugins/peak_controller_effect/Makefile.am:
4215         * plugins/audio_file_processor/Makefile.am:
4216         * plugins/stk/mallets/Makefile.am:
4217         * plugins/stk/Makefile.am:
4218         * plugins/stereo_enhancer/Makefile.am:
4219         * plugins/sf2_player/Makefile.am:
4220         * plugins/vestige/Makefile.am:
4221         * plugins/vst_base/Makefile.am:
4222         * plugins/ladspa_browser/Makefile.am:
4223         * plugins/spectrum_analyzer/Makefile.am:
4224         * plugins/kicker/Makefile.am:
4225         * plugins/Makefile.am:
4226         * plugins/flp_import/Makefile.am:
4227         * plugins/midi_import/Makefile.am:
4228         * data/locale/Makefile.am:
4229         * data/track_icons/Makefile.am:
4230         * data/midi-maps/Makefile.am:
4231         * data/samples/effects/Makefile.am:
4232         * data/samples/stringsnpads/Makefile.am:
4233         * data/samples/basses/Makefile.am:
4234         * data/samples/shapes/Makefile.am:
4235         * data/samples/latin/Makefile.am:
4236         * data/samples/Makefile.am:
4237         * data/samples/bassloopes/Makefile.am:
4238         * data/samples/drums/Makefile.am:
4239         * data/samples/instruments/Makefile.am:
4240         * data/samples/misc/Makefile.am:
4241         * data/samples/drumsynth/effects/Makefile.am:
4242         * data/samples/drumsynth/misc_synth/Makefile.am:
4243         * data/samples/drumsynth/tr606/Makefile.am:
4244         * data/samples/drumsynth/cr78/Makefile.am:
4245         * data/samples/drumsynth/tr808/Makefile.am:
4246         * data/samples/drumsynth/magnetboy/Makefile.am:
4247         * data/samples/drumsynth/tr909/Makefile.am:
4248         * data/samples/drumsynth/misc_fx/Makefile.am:
4249         * data/samples/drumsynth/misc/Makefile.am:
4250         * data/samples/drumsynth/electro/Makefile.am:
4251         * data/samples/drumsynth/ferraro/Makefile.am:
4252         * data/samples/drumsynth/linn/Makefile.am:
4253         * data/samples/drumsynth/r_b/Makefile.am:
4254         * data/samples/drumsynth/tr77/Makefile.am:
4255         * data/samples/drumsynth/misc_bass/Makefile.am:
4256         * data/samples/drumsynth/misc_perc/Makefile.am:
4257         * data/samples/drumsynth/latin/Makefile.am:
4258         * data/samples/drumsynth/instrument/Makefile.am:
4259         * data/samples/drumsynth/misc_electro/Makefile.am:
4260         * data/samples/drumsynth/Makefile.am:
4261         * data/samples/drumsynth/acoustic/Makefile.am:
4262         * data/samples/drumsynth/misc_hats/Makefile.am:
4263         * data/samples/drumsynth/farfisa/Makefile.am:
4264         * data/samples/drumsynth/jorgensohn/Makefile.am:
4265         * data/samples/drumsynth/cr8000/Makefile.am:
4266         * data/samples/drumsynth/misc_claps/Makefile.am:
4267         * data/samples/beats/Makefile.am:
4268         * data/presets/AudioFileProcessor/Makefile.am:
4269         * data/presets/Organic/Makefile.am:
4270         * data/presets/PluckedStringSynth/Makefile.am:
4271         * data/presets/VeSTige/Makefile.am:
4272         * data/presets/BitInvader/Makefile.am:
4273         * data/presets/Makefile.am:
4274         * data/presets/TripleOscillator/Makefile.am:
4275         * data/themes/Makefile.am:
4276         * data/projects/covers/Makefile.am:
4277         * data/projects/recorded_loops/Makefile.am:
4278         * data/projects/cool_songs/Makefile.am:
4279         * data/projects/tutorials/Makefile.am:
4280         * data/projects/demos/Makefile.am:
4281         * data/projects/Makefile.am:
4282         * data/projects/misc/Makefile.am:
4283         * data/projects/templates/Makefile.am:
4284         * data/Makefile.am:
4285         * Makefile.am:
4286         * acinclude.m4:
4287         * configure.in:
4288         removed old autotools-files
4290 2008-07-18      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
4292         * plugins/ladspa_effect/tap/tap_deesser.c:
4293         * plugins/ladspa_effect/tap/tap_sigmoid.c:
4294         * plugins/ladspa_effect/tap/tap_doubler.c:
4295         * plugins/ladspa_effect/tap/tap_eqbw.c:
4296         * plugins/ladspa_effect/tap/tap_pinknoise.c:
4297         * plugins/ladspa_effect/tap/tap_chorusflanger.c:
4298         * plugins/ladspa_effect/tap/tap_eq.c:
4299         * plugins/ladspa_effect/tap/tap_limiter.c:
4300         * plugins/ladspa_effect/tap/tap_vibrato.c:
4301         * plugins/ladspa_effect/tap/tap_pitch.c:
4302         * plugins/ladspa_effect/tap/tap_autopan.c:
4303         * plugins/ladspa_effect/tap/tap_dynamics_st.c:
4304         * plugins/ladspa_effect/tap/tap_echo.c:
4305         * plugins/ladspa_effect/tap/tap_tremolo.c:
4306         * plugins/ladspa_effect/tap/tap_tubewarmth.c:
4307         * plugins/ladspa_effect/tap/tap_dynamics_m.c:
4308         * plugins/ladspa_effect/tap/tap_reflector.c:
4309         * plugins/ladspa_effect/tap/tap_reverb.c:
4310         * plugins/ladspa_effect/tap/tap_rotspeak.c:
4311         * plugins/ladspa_effect/tap/Makefile.am:
4312         added constructor/destructor-attribute to _init() and _finit()-methods
4313         in order to make those LADSPA-plugins work properly in win32-version
4315         * src/core/config_mgr.cpp:
4316         * src/core/ladspa_manager.cpp:
4317         * src/gui/setup_dialog.cpp:
4318         separate LADSPA-paths with ',' instead of ':' as win32-paths usually
4319         contain ':'-characters...
4321         * src/core/ladspa_2_lmms.cpp:
4322         also allow LADSPA-plugins which are not realtime capable - not all of
4323         them work properly but most do and it's better to provide more of them
4325         * src/gui/widgets/effect_view.cpp:
4326         handled rename of up/down arrow graphics
4328         * include/ladspa_2_lmms.h:
4329         cleanups
4331         * src/core/ladspa_manager.cpp:
4332         fixed paths to LADSPA-plugins for win32
4334         * src/gui/string_pair_drag.cpp:
4335         at destruction check whether mainWindow is still alive
4337         * src/core/midi/midi_port.cpp:
4338         range-checking for keys of input-events
4340         * src/core/song.cpp:
4341         lock mixer while adding BB-track (finally closes #2014486)
4343         * src/core/bb_track_container.cpp:
4344         * src/core/mv_base.cpp:
4345         * src/gui/automation_editor.cpp:
4346         * src/gui/bb_editor.cpp:
4347         * src/gui/widgets/knob.cpp:
4348         * src/tracks/instrument_track.cpp:
4349         do not create queued signal-slot-connections
4351         * src/core/audio/audio_sdl.cpp:
4352         changed number of frames per callback which seems to fix distorted sound
4354         * plugins/lb303/lb303.h:
4355         removed declaration of unimplemented slot - fixes win32-build
4357         * plugins/ladspa_effect/ladspa_effect.cpp:
4358         * plugins/vibed/vibed.cpp:
4359         * include/controller.h:
4360         * include/lfo_controller.h:
4361         * include/midi_controller.h:
4362         * include/peak_controller.h:
4363         * include/plugin.h:
4364         * src/core/controller.cpp:
4365         * src/core/lfo_controller.cpp:
4366         * src/core/peak_controller.cpp:
4367         * src/core/tool.cpp:
4368         * src/core/midi/midi_controller.cpp:
4369         * src/gui/effect_control_dialog.cpp:
4370         * src/gui/effect_select_dialog.cpp:
4371         * src/gui/main_window.cpp:
4372         * src/gui/plugin_browser.cpp:
4373         * src/gui/widgets/controller_view.cpp:
4374         * src/gui/widgets/effect_view.cpp:
4375         * src/tracks/instrument_track.cpp:
4376         removed publicName-properties in various classes and plugin-descriptor
4377         and use model::displayName instead
4379         * src/gui/controller_connection_dialog.cpp:
4380         improved GUI-layout
4382         * include/automation_pattern.h:
4383         * src/core/automation_pattern.cpp:
4384         - removed obsolete variable
4385         - fixed wrong behaviour of automationPattern::valueAt()
4386         - in case there's only one initial value in time-map, set it for all
4387           objects when loading settings
4389         * src/tracks/instrument_track.cpp:
4390         save actual instrument-settings in separate sub-node for not mixing up
4391         unknown nodes with instruments
4393         * src/gui/widgets/group_box.cpp:
4394         only toggle LED on left click
4396         * include/detuning_helper.h:
4397         * include/inline_automation.h:
4398         fixed behaviour for inline-automations with only one value in time-map
4400         * src/core/mmp.cpp:
4401         - fixed and improved various tag-renaming-loops
4402         - added upgrade path from LB302 to LB303
4404         * plugins/bit_invader/bit_invader.cpp:
4405         * plugins/sf2_player/sf2_player.cpp:
4406         * plugins/spectrum_analyzer/spectrum_analyzer.cpp:
4407         fixed compiler warnings
4409         * plugins/Makefile.am:
4410         removed lb302 from list of plugins to build
4412         * plugins/midi_import/midi_import.cpp:
4413         improved tempo-automation import
4415         * include/automatable_model.h:
4416         * include/mv_base.h:
4417         * src/core/automatable_model.cpp:
4418         moved displayName-property from automatableModel to model base-class
4420         * src/tracks/pattern.cpp:
4421         fixed types
4423         * src/core/automation_pattern.cpp:
4424         improved behaviour in automationPattern::clear() and
4425         automationPattern::putValue()
4427         * include/instrument_sound_shaping.h:
4428         * src/core/effect_chain.cpp:
4429         * src/core/instrument_functions.cpp:
4430         * src/core/instrument_sound_shaping.cpp:
4431         * src/core/meter_model.cpp:
4432         * src/core/song.cpp:
4433         * src/core/track.cpp:
4434         * src/core/surround_area.cpp:
4435         * src/gui/widgets/graph.cpp:
4436         * src/tracks/instrument_track.cpp:
4437         added more values for displayName-property
4439         * include/track_label_button.h:
4440         * src/gui/widgets/track_label_button.cpp:
4441         * src/tracks/automation_track.cpp:
4442         * src/tracks/bb_track.cpp:
4443         * src/tracks/instrument_track.cpp:
4444         * src/tracks/sample_track.cpp:
4445         * Makefile.am:
4446         - moved name_label.* to track_label_button.*
4447         - bigger icons for trackLabelButtons
4449 2008-07-17      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
4451         * src/tracks/automation_track.cpp:
4452         make sure, hidden automation-tracks are not muted when loading
4454         * src/core/automatable_model.cpp:
4455         cleanups
4457         * data/projects/covers/J.S.Bach-Preludium_and_Fugue_A-Minor.mmpz:
4458         fixed tempo-automation
4460 2008-07-16      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
4462         * src/gui/main_window.cpp:
4463         added minimal width and height when restoring subwindow-states
4465         * include/bb_track_container.h:
4466         * src/core/bb_track_container.cpp:
4467         * src/core/song.cpp:
4468         added quirk for fixing projects with broken positions of TCOs inside
4469         BB-tracks
4471         * src/core/automation_pattern.cpp:
4472         update views after resolving IDs for drawing bars with proper range
4474         * src/tracks/automation_track.cpp:
4475         fixed behaviour of automation-tracks in BB-editor (closes #2014486)
4477         * include/track.h:
4478         * src/core/track.cpp:
4479         fixed "Cut"-action on TCOs (closes #2016731)
4481 2008-07-12      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
4483         * src/core/config_mgr.cpp:
4484         * src/core/main.cpp:
4485         do not terminate silently if parsing of configuration file failed
4487         * src/gui/automation_editor.cpp:
4488         fixed drawing of bars which do not fit within current viewport
4490         * data/themes/default/factory_files.png:
4491         better icon
4493         * data/projects/covers/J.S.Bach-Preludium_and_Fugue_A-Minor.mmpz:
4494         upgraded + reverb in master-FX channel
4496         * Makefile.am:
4497         * include/effect_label.h:
4498         * src/gui/widgets/effect_label.cpp:
4499         removed obsolete files
4501         * include/automation_track.h:
4502         * include/bb_track.h:
4503         * include/effect_rack_view.h:
4504         * include/instrument_track.h:
4505         * include/name_label.h:
4506         * include/sample_track.h:
4507         * include/track.h:
4508         * src/core/track.cpp:
4509         * src/gui/widgets/group_box.cpp:
4510         * src/gui/widgets/name_label.cpp:
4511         * src/tracks/automation_track.cpp:
4512         * src/tracks/bb_track.cpp:
4513         * src/tracks/instrument_track.cpp:
4514         * src/tracks/sample_track.cpp:
4515         * data/themes/default/style.css:
4516         * data/themes/default/add_automation.png:
4517         * data/themes/default/add_sample_track.png:
4518         * data/themes/default/automation.png:
4519         * data/themes/default/automation_track.png:
4520         * data/themes/default/colorize.png:
4521         * data/themes/default/instrument_track.png:
4522         * data/themes/default/sample_track.png:
4523         * data/themes/default/surround_area.png:
4524         unified track-view appearence and behaviour
4526 2008-07-11      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
4528         * plugins/sf2_player/Makefile.am:
4529         added missing SOURCES-entry for UI-file
4531         * src/gui/widgets/combobox.cpp:
4532         better position for text-drawing
4534         * include/instrument_functions.h:
4535         * include/instrument_function_views.h:
4536         * src/core/instrument_functions.cpp:
4537         * src/gui/widgets/instrument_function_views.cpp:
4538         * data/themes/default/arp_down.png:
4539         * data/themes/default/arp_down_off.png:
4540         * data/themes/default/arp_down_on.png:
4541         * data/themes/default/arp_random.png:
4542         * data/themes/default/arp_random_off.png:
4543         * data/themes/default/arp_random_on.png:
4544         * data/themes/default/arp_up.png:
4545         * data/themes/default/arp_up_off.png:
4546         * data/themes/default/arp_up_on.png:
4547         * data/themes/default/arp_up_and_down.png:
4548         * data/themes/default/arp_up_and_down_off.png:
4549         * data/themes/default/arp_up_and_down_on.png:
4550         use combobox instead of button-group for selecting arpeggio-direction
4552 2008-07-08      Paul Giblock <drfaygo/at/gmail/dot/com>
4554         * plugins/lb303:
4555         * plugins/lb303/lb303.cpp:
4556         * plugins/lb303/lb303.h:
4557         * plugins/lb303/artwork.png:
4558         * plugins/lb303/logo.png:
4559         * plugins/lb303/Makefile.am:
4560         * plugins/Makefile.am:
4561         * configure.in:
4562         First version of lb303, NO backward compatability YET
4564         * src/gui/controller_connection_dialog.cpp:
4565         Fix MIDI AutoDetect  
4567         * src/gui/widgets/knob.cpp:
4568         Fix occationally missing line after instantiation
4570 2008-07-07      Paul Giblock <drfaygo/at/gmail/dot/com>
4572         * src/gui/controller_connection_dialog.cpp:
4573         Show name instead of type in connection dialog
4575         * src/gui/widgets/controller_view.cpp:
4576         Remove bypass
4578         * plugins/lb302/lb302.cpp:
4579         * plugins/lb302/lb302.h:
4580         - Initial support for pitch-bend, doesn't work during slide.
4581         - Next version will probably be the first lb303
4582         - Cleanup, fixed dropped-notes
4583         - Fix pitch-bend while sliding
4585 2008-07-07      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
4587         * configure.in:
4588         made 0.4.0-alpha2 release
4590         * src/core/mmp.cpp:
4591         added compat-code for loading old presets where content-node is named
4592         "channelsettings"
4594         * plugins/sf2_player/sf2_player.cpp:
4595         * plugins/sf2_player/sf2_player.h:
4596         added support for pitch-bending
4598         * include/instrument_track.h:
4599         * include/note_play_handle.h:
4600         * src/core/note_play_handle.cpp:
4601         * src/tracks/instrument_track.cpp:
4602         - additionally provide frequency without pitch-wheel
4603         - added instrumentTrack::midiPitch()
4605         * include/instrument.h:
4606         * include/instrument_track.h:
4607         * include/midi_controller.h:
4608         * include/midi_event_processor.h:
4609         * include/midi_port.h:
4610         * src/core/note_play_handle.cpp:
4611         * src/core/midi/midi_controller.cpp:
4612         * src/tracks/instrument_track.cpp:
4613         removed buggy and obsolete support for monophonic instruments
4615 2008-07-06      Paul Giblock <drfaygo/at/gmail/dot/com>
4617         * plugins/lb302/lb302.cpp:
4618         * plugins/lb302/lb302.h:
4619         New version (and probably last) of new IPH-based lb302
4621 2008-07-06      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
4623         * src/gui/widgets/combobox.cpp:
4624         draw text at correct position in win32-version
4626         * src/core/drumsynth.cpp:
4627         when building for win32 define powf() as pow() due to symbol-conflicts
4628         in win32-libm
4630         * data/themes/default/style.css:
4631         fixed font-color for what's-this-popups so that they're readable
4633 2008-07-05      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
4635         * plugins/stk/mallets/mallets.cpp:
4636         protect critical section when creating STK-synths as STK is not
4637         thread-safe (closes #2005888)
4639         * include/instrument_track.h:
4640         * src/tracks/instrument_track.cpp:
4641         - set hand-cursor for instrument-track-window button
4642         - in instrumentTrack::processInEvent() lock mixer in outer branch
4644         * include/instrument.h:
4645         added note for scheduled removal of monophonic-property
4647         * include/note_play_handle.h:
4648         made m_released volatile
4650         * src/core/note_play_handle.cpp:
4651         - instantly exit noteOff() if already released
4652         - manually unlink references to itself in instrumentTrack (fixes
4653           segfaults in various situations)
4655         * src/core/envelope_and_lfo_parameters.cpp:
4656         * src/core/instrument_functions.cpp:
4657         * src/core/ladspa_control.cpp:
4658         fixed tempo-sync-models (closes #2010776)
4660         * src/core/mixer.cpp:
4661         cleanups
4663         * src/tracks/automation_track.cpp:
4664         made muting automation-tracks work (closes #2010770)
4666         * src/tracks/bb_track.cpp:
4667         made muting BB-tracks work (closes #2010764)
4669         * src/gui/widgets/effect_rack_view.cpp:
4670         made removing effect-plugins thread-safe (closes #2010984)
4672         * src/core/automation_pattern.cpp:
4673         save and restore automationPattern's name (closes #2011011)
4675         * include/inline_automation.h:
4676         delete automation-pattern is in correct thread (closes #2008232)
4678 2008-07-04      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
4680         * include/track.h:
4681         made trackContentObject and track implement displayName() in order to
4682         return their name
4684         * include/effect_label.h:
4685         * src/gui/widgets/effect_label.cpp:
4686         * src/tracks/sample_track.cpp:
4687         do not take _initial_name as it can be retrieved from track
4689         * src/tracks/sample_track.cpp:
4690         added name to volumeModel
4692         * data/themes/default/hand.png:
4693         * src/gui/automatable_model_view.cpp:
4694         * src/gui/fx_mixer_view.cpp:
4695         * src/gui/widgets/fade_button.cpp:
4696         * src/gui/widgets/effect_label.cpp:
4697         * src/gui/widgets/name_label.cpp:
4698         * src/core/track.cpp:
4699         added hand-cursor for all controls
4701         * data/themes/default/style.css:
4702         common font-size for track-labels
4704 2008-07-02      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
4706         * src/core/main.cpp:
4707         * src/core/song.cpp:
4708         added new commandline option "--upgrade" for upgrading project-files
4709         easily
4711         * src/core/config_mgr.cpp:
4712         fixed wrong macro-name - fixes unusable Mallets-plugin
4714 2008-07-01      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
4716         * plugins/sf2_player/Makefile.am:
4717         removed ui_patches_dialog.h from SOURCES-list
4719         * src/core/mmp.cpp:
4720         don't mess up projects when loading files being created using
4721         0.4.0-alpha in a later version because "0.4.0-alpha" < "0.4.0-svn..."
4723         * include/mv_base.h:
4724         Qt 4.3 compatibility
4726 2008-06-30      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
4728         * configure.in:
4729         made 0.4.0-alpha release
4731         * src/core/song.cpp:
4732         * src/core/mmp.cpp:
4733         * src/core/track.cpp:
4734         * src/core/automation_pattern.cpp:
4735         fixed broken load/save of song-global automation
4737         * Makefile.am:
4738         win32-pkg-fixes
4740         * data/locale/de.qm:
4741         * data/locale/de.ts:
4742         updated German localization file
4744         * include/song_editor.h:
4745         * src/gui/song_editor.cpp:
4746         made icon on play-button change according to current mode
4748         * include/main_window.h:
4749         * src/gui/bb_editor.cpp:
4750         * src/gui/fx_mixer_view.cpp:
4751         * src/gui/main_window.cpp:
4752         * src/gui/song_editor.cpp:
4753         * src/gui/widgets/controller_rack_view.cpp:
4754         added toggle-button for controller-rack-view and improved default
4755         positions of sub-windows in workspace
4757         * src/core/song.cpp:
4758         - send posted events after creating a new project - makes project not
4759           being marked as modified right after it's been created
4760         - create empty sample-track and automation-track in new projects
4762         * src/core/engine.cpp:
4763         clear whole project before deleting everything - fixes segfault when
4764         quitting with controllers added
4766         * src/core/effect_chain.cpp:
4767         fixed crash when an effect failed to load because its sub-plugin is
4768         missing (closes #2005910)
4770         * src/core/automation_pattern.cpp:
4771         - initialize first value in time-map
4772         - better default-model
4773         - change automation-pattern to NULL if opened in automation editor
4774           during destruction
4775         - improved default-label
4776         - when used in track-container with fixed TCOs, update length
4778         * src/core/track.cpp:
4779         * src/tracks/bb_track.cpp:
4780         * src/tracks/instrument_track.cpp:
4781         * src/tracks/sample_track.cpp:
4782         save/restore name-property inside track-class
4784         * src/tracks/automation_track.cpp:
4785         set a proper name per default
4787         * src/gui/automation_editor.cpp:
4788         queued connections for models for not getting signaled at
4789         destruction-time
4791         * include/bb_editor.h:
4792         * src/gui/bb_editor.cpp:
4793         made it possible to add automation-tracks to BB-editor
4795         * include/automation_pattern.h:
4796         * include/inline_automation.h:
4797         * include/note.h:
4798         * src/core/inline_automation.cpp:
4799         * src/core/note.cpp:
4800         fixed inlineAutomation::hasAutomation()
4802         * data/themes/default/style.css:
4803         common font-size for various push-buttons
4805         * src/core/config_mgr.cpp:
4806         ask whether to create working-directory if it does not exist
4808         * src/core/fx_mixer.cpp:
4809         reset mute-model in fxMixer::clear()
4811         * include/track.h:
4812         * src/core/track.cpp:
4813         - removed obsolete static members
4814         - more simple QPen-initialization for not making Qt leak
4816         * include/combobox_model.h:
4817         pass _default_constructed-parameter to base-class
4819         * src/gui/lfo_controller_dialog.cpp:
4820         renamed constants so one-unit-compiling is possible
4822         * src/gui/widgets/envelope_and_lfo_view.cpp:
4823         * src/core/envelope_and_lfo_parameters.cpp:
4824         do not duplicate constants
4826         * src/gui/widgets/group_box.cpp:
4827         make sure LED's default-model is being deleted when changing model
4829         * src/core/plugin.cpp:
4830         made initialization of dummy-plugin pixmap-loder static
4832         * src/core/mixer.cpp:
4833         properly terminate worker-threads at mixer-destruction
4835         * src/core/main.cpp:
4836         fixed various leaks
4838         * src/core/mmp.cpp:
4839         replaced compat-code by proper code in multimediaProject::upgrade()
4841         * src/core/effect.cpp:
4842         added missing initialization of m_processors member variable
4844         * src/core/instrument_functions.cpp:
4845         removed obsolete constants
4847         * src/core/sample_buffer.cpp:
4848         fixed broken logic when updating sample-data
4850         * src/core/automation_pattern.cpp:
4851         in automationPattern::valueAt() check whether the time-map is empty
4853         * src/core/fx_mixer.cpp:
4854         save/load mute-settings for FX-lines
4856         * src/core/peak_controller.cpp:
4857         return default-value if there's no peak-effect
4859         * configure.in:
4860         * Makefile.am:
4861         * include/sample_buffer.h:
4862         * src/core/sample_buffer.cpp:
4863         removed support for SDL_sound-library as libsndfile and libvorbis do
4864         everything we need
4866         * include/automatable_model.h:
4867         * include/combobox_model.h:
4868         * include/mv_base.h:
4869         * include/piano_roll.h:
4870         * src/core/base64.cpp:
4871         * src/core/effect.cpp:
4872         * src/core/engine.cpp:
4873         * src/core/fx_mixer.cpp:
4874         * src/core/instrument_functions.cpp:
4875         * src/core/ladspa_manager.cpp:
4876         * src/core/mv_base.cpp:
4877         * src/gui/automation_editor.cpp:
4878         * src/gui/main_window.cpp:
4879         * src/gui/piano_roll.cpp:
4880         * src/gui/widgets/combobox.cpp:
4881         * src/gui/widgets/group_box.cpp:
4882         * plugins/ladspa_effect/ladspa_effect.cpp:
4883         fixed various leaks I found using Valgrind
4885 2008-06-30      Paul Giblock <drfaygo/at/gmail/dot/com>
4887         * plugins/ladspa_browser/ladspa_browser.cpp:
4888         * include/automation_editor.h:
4889         * src/gui/piano_roll.cpp:
4890         * src/gui/fx_mixer_view.cpp:
4891         * src/gui/widgets/controller_rack_view.cpp:
4892         * src/gui/widgets/controller_view.cpp:
4893         * src/gui/automation_editor.cpp:
4894         * src/tracks/instrument_track.cpp:
4895         Remove maximize and resize capability from many windows and set proper
4896         minimum and intial sizes
4898 2008-06-29      Javier Serrano Polo <jasp00/at/terra/dot/es>
4900         * data/locale/ca.ts:
4901         updated translation
4903 2008-06-29      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
4905         * include/track.h:
4906         * include/sample_track.h:
4907         * src/gui/widgets/effect_label.cpp:
4908         * src/tracks/sample_track.cpp:
4909         * src/core/sample_play_handle.cpp:
4910         * src/core/track.cpp:
4911         * Makefile.am:
4912         finally resurrected sample-tracks
4914         * src/gui/automation_editor.cpp:
4915         - improved drawing/erasing values
4916         - fixed moving selected values
4918         * src/core/automation_pattern.cpp:
4919         when drawing automation, do not overpaint border
4921         * data/themes/default/fx_mixer.png:
4922         new icon at 32x32 px to make it scale better to 16x16
4924 2008-06-29      Paul Giblock <drfaygo/at/gmail/dot/com>
4926         * plugins/sf2_player/sf2_player.cpp:
4927         Initialize gain at 1.0
4929         * src/core/automation_pattern.cpp:
4930         - Correctly draw automation TCO for negative minValues.
4931         - Add some shading
4933         * src/gui/controller_connection_dialog.cpp:
4934         - Connect cancel button
4935         - Make mapping function read-only for alpha release
4936         - Initialize MIDI Controller name when adding a MIDI Controller
4938         * src/gui/widgets/tempo_sync_knob.cpp:
4939         Make tempoSyncKnob really sync to tempo again
4941         * plugins/peak_controller_effect/peak_controller_effect.cpp:
4942         * plugins/peak_controller_effect/peak_controller_effect_controls.cpp:
4943         * plugins/peak_controller_effect/peak_controller_effect.h:
4944         * include/peak_controller.h:
4945         * src/core/peak_controller.cpp:
4946         Fix loading/saving for peak controller
4948         * src/core/effect.cpp:
4949         Correct comments
4951         * data/themes/default/style.css:
4952         Make toolbar colors a little more clear
4954         * src/core/automation_pattern.cpp:
4955         Save and load pattern position from project
4957         * include/automation_track.h:
4958         * src/tracks/automation_track.cpp:
4959         Allow dragging automatable views directly onto an automation-track
4961         * configure.in:
4962         Fix LIBDIR for when people do not use --prefix
4964         * include/automation_editor.h:
4965         * src/gui/automation_editor.cpp:
4966         - Don't miss points when scribbling quickly
4967         - Shift-Click to draw a line
4969         * include/lfo_controller.h:
4970         * src/gui/lfo_controller_dialog.cpp:
4971         * data/themes/default/lfo_controller_artwork.png:
4972         Add LFO artwork (except it doesn't work for some odd reason)
4974         * plugins/stereo_matrix/stereomatrix_control_dialog.cpp:
4975         * plugins/stereo_matrix/artwork.png:
4976         Add StereoMatrix artwork
4978         * plugins/bit_invader/artwork.png:
4979         Remove author name from artwork.  No other artwork has author names.  The
4980         name on the main GUI makes LMMS looks less professional.  AUTHORS.
4982         * plugins/patman/logo.png:
4983         * plugins/stereo_matrix/artwork.png:
4984         * plugins/audio_file_processor/logo.png:
4985         * plugins/vestige/logo.png:
4986         * plugins/spectrum_analyzer/log_x_axis.png:
4987         * plugins/spectrum_analyzer/log_y_axis.png:
4988         Update plugin artwork
4990         * plugins/live_tool/live_tool.cpp:
4991         * src/gui/plugin_browser.cpp:
4992         * src/gui/main_window.cpp:
4993         * src/gui/automation_editor.cpp:
4994         * src/gui/bb_editor.cpp:
4995         * src/tracks/bb_track.cpp:
4996         * src/core/mmp.cpp:
4997         * data/locale/nl.ts:
4998         * data/locale/it.ts:
4999         * data/locale/ca.ts:
5000         * data/locale/ru.ts:
5001         * data/locale/de.ts:
5002         * data/locale/sv.ts:
5003         Rename Baseline to Bassline
5005 2008-06-28      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
5007         * plugins/Makefile.am:
5008         * configure.in:
5009         removed SingerBot-references
5011         * plugins/live_tool/live_tool.cpp:
5012         * src/core/tool.cpp:
5013         cleanups
5015         * src/gui/main_window.cpp:
5016         * src/tracks/bb_track.cpp:
5017         * src/tracks/pattern.cpp:
5018         * src/core/automation_pattern.cpp:
5019         * data/themes/default/project_new_from_template.png:
5020         * data/themes/default/project_new.png:
5021         * data/themes/default/project_import.png:
5022         * data/themes/default/project_open_recent.png:
5023         * data/themes/default/edit_rename.png:
5024         * data/themes/default/rename.png:
5025         splitted "new project"-button and added "recently opened
5026         project"-button
5028         * src/gui/main_window.cpp:
5029         * src/gui/song_editor.cpp:
5030         * src/tracks/instrument_track.cpp:
5031         * data/themes/default/edit_draw.png:
5032         * data/themes/default/add_bb_track.png:
5033         * data/themes/default/edit_arrow.png:
5034         * data/themes/default/stop.png:
5035         * data/themes/default/mute_off_disabled.png:
5036         * data/themes/default/mute_on_disabled.png:
5037         * data/themes/default/style.css:
5038         * data/themes/default/play.png:
5039         * data/themes/default/mute_on.png:
5040         * data/themes/default/record.png:
5041         * data/themes/default/automation.png:
5042         * data/themes/default/help.png:
5043         * data/themes/default/sample_track.png:
5044         * data/themes/default/track_op_menu_disabled.png:
5045         * data/themes/default/edit_select.png:
5046         * data/themes/default/effect_board.png:
5047         * data/themes/default/mute_off.png:
5048         * data/themes/default/pause.png:
5049         * data/themes/default/bb_track.png:
5050         * data/themes/default/add_automation.png:
5051         * data/themes/default/edit_erase.png:
5052         * data/themes/default/record_accompany.png:
5053         * data/themes/default/edit_move.png:
5054         * data/themes/default/add_sample_track.png:
5055         * data/themes/default/songeditor.png:
5056         * data/themes/default/fx_mixer.png:
5057         improved artwork and maintoolbar
5059 2008-06-28      Paul Giblock <drfaygo/at/gmail/dot/com>
5061         * configure.in:
5062         * src/core/config_mgr.cpp:
5063         * src/core/ladspa_manager.cpp:
5064         Search LIBDIR before any other directories
5066         * acinclude.m4:
5067         Search $QTDIR before any other directories
5069         * data/themes/default/style.css:
5070         Update CSS for new QToolBar support
5072 2008-06-28      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
5074         * src/core/song.cpp:
5075         * src/core/project_renderer.cpp:
5076         - confirm overwrite when exporting file
5077         - set filter when selecting output-file for export
5079         * include/audio_file_device.h:
5080         * include/audio_file_ogg.h:
5081         * include/audio_file_wave.h:
5082         * include/project_renderer.h:
5083         * src/core/audio/audio_file_device.cpp:
5084         * src/core/audio/audio_file_ogg.cpp:
5085         * src/core/audio/audio_file_wave.cpp:
5086         * src/core/main.cpp:
5087         * src/core/project_renderer.cpp:
5088         * src/gui/export_project_dialog.cpp:
5089         added support for exporting WAVE-files with 32-bit-float format
5091         * include/automation_editor.h:
5092         fixed node-name
5094         * Makefile.am:
5095         * include/automation_pattern.h:
5096         * include/detuning_helper.h:
5097         * include/inline_automation.h:
5098         * include/note_play_handle.h:
5099         * src/core/automation_pattern.cpp:
5100         * src/core/inline_automation.cpp:
5101         * src/core/note.cpp:
5102         * src/core/note_play_handle.cpp:
5103         * src/core/track.cpp:
5104         * src/gui/piano_roll.cpp:
5105         made note-detuning-automation work by making automationPatterns also
5106         work without a parent-track and writing a generic inlineAutomation-class
5108         * src/gui/file_browser.cpp:
5109         fixed crash when encountering invalid samplePlayHandle while
5110         previewing (closes #2004875)
5112 2008-06-27      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
5114         * include/instrument_track.h:
5115         * src/tracks/instrument_track.cpp:
5116         added panning-knob to track-settings-widget
5118         * include/fx_mixer.h:
5119         * include/fx_mixer_view.h:
5120         * src/core/fx_mixer.cpp:
5121         * src/gui/fx_mixer_view.cpp:
5122         added mute-button for each FX-line
5124         * include/led_checkbox.h:
5125         * src/gui/peak_controller_dialog.cpp:
5126         * src/gui/widgets/instrument_function_views.cpp:
5127         * src/gui/widgets/ladspa_control_view.cpp:
5128         * src/gui/widgets/led_checkbox.cpp:
5129         made enumeration match current coding style
5131         * src/core/track.cpp:
5132         * src/core/plugin.cpp:
5133         * Makefile.am:
5134         cleanups
5136 2008-06-25      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
5138         * src/tracks/instrument_track.cpp:
5139         overwrite-confirm when saving instrument-settings
5141         * src/core/effect_chain.cpp:
5142         when clear()ing, also disable FX-chain (closes #1994482)
5144         * src/core/song.cpp:
5145         always load FX-mixer-settings even if there's no GUI
5147         * src/core/track_container.cpp:
5148         fixed broken clearAllTracks()
5150         * include/track.h:
5151         * include/pattern.h:
5152         * include/bb_track.h:
5153         * src/tracks/bb_track.cpp:
5154         * src/tracks/pattern.cpp:
5155         * src/core/track.cpp:
5156         name-property in trackContentObject-class
5158         * include/automation_pattern.h:
5159         * src/core/automation_pattern.cpp:
5160         - added submenu for removing connections
5161         - made automation-pattern rename working
5163         * src/core/automation_pattern.cpp:
5164         fixed loading song-global automation
5166 2008-06-24      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
5168         * plugins/vibed/vibrating_string.h:
5169         * plugins/vibed/nine_button_selector.h:
5170         * plugins/vibed/vibed.h:
5171         * plugins/vibed/vibrating_string.cpp:
5172         * plugins/vibed/string_container.h:
5173         * plugins/vibed/nine_button_selector.cpp:
5174         * plugins/vibed/Makefile.am:
5175         * plugins/vibed/vibed.cpp:
5176         * plugins/singerbot/singerbot.h:
5177         * plugins/audio_file_processor/audio_file_processor.cpp:
5178         * plugins/flp_import/flp_import.cpp:
5179         * include/note_play_handle.h:
5180         * src/tracks/instrument_track.cpp:
5181         * src/core/note_play_handle.cpp:
5182         * src/core/audio/audio_device.cpp:
5183         * src/core/audio/audio_oss.cpp:
5184         - fixed wrong config.h-inclusion and deprecated macro-names from
5185           config.h - makes Vibed plugin work again (closes #2000590)
5186         - various coding-style fixes
5188         * plugins/bit_invader/bit_invader.cpp:
5189         * plugins/vibed/vibed.cpp:
5190         fixed plugin-instantiation
5192         * include/graph.h:
5193         * src/gui/widgets/graph.cpp:
5194         * plugins/vibed/vibed.cpp:
5195         * plugins/vibed/vibed.h:
5196         * plugins/bit_invader/bit_invader.cpp:
5197         * plugins/bit_invader/bit_invader.h:
5198         use int instead of Uint32
5200         * plugins/plucked_string_synth/logo.png:
5201         * plugins/plucked_string_synth/plucked_string_synth.cpp:
5202         * plugins/plucked_string_synth/plucked_string_synth.h:
5203         * plugins/plucked_string_synth/Makefile.am:
5204         * plugins/plucked_string_synth/artwork.png:
5205         * plugins/polyb302/polyb302.h:
5206         * plugins/polyb302/logo.png:
5207         * plugins/polyb302/Makefile.am:
5208         * plugins/polyb302/polyb302.cpp:
5209         * plugins/polyb302/artwork.png:
5210         removed obsolete plugins
5212         * plugins/spectrum_analyzer/spectrumanalyzer_control_dialog.cpp:
5213         * plugins/spectrum_analyzer/spectrum_analyzer.cpp:
5214         * plugins/spectrum_analyzer/Makefile.am:
5215         * plugins/spectrum_analyzer/spectrum_analyzer.h:
5216         * configure.in:
5217         use float-based FFTW-library
5219         * Makefile.am:
5220         * include/peak_controller.h:
5221         * include/tempo_sync_knob.h:
5222         fixes for win32-build
5224 2008-06-23      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
5226         * plugins/ladspa_effect/ladspa_effect.cpp:
5227         * plugins/ladspa_effect/ladspa_controls.cpp:
5228         * plugins/ladspa_effect/ladspa_controls.h:
5229         * plugins/organic/organic.cpp:
5230         * plugins/organic/organic.h:
5231         * plugins/lb302/lb302.cpp:
5232         * plugins/vibed/nine_button_selector.cpp:
5233         * plugins/triple_oscillator/triple_oscillator.h:
5234         * plugins/triple_oscillator/triple_oscillator.cpp:
5235         * plugins/audio_file_processor/audio_file_processor.cpp:
5236         * plugins/stk/mallets/mallets.cpp:
5237         * plugins/kicker/kicker.cpp:
5238         * plugins/midi_import/midi_import.cpp:
5239         * include/effect.h:
5240         * include/meter_model.h:
5241         * include/track.h:
5242         * include/automatable_model.h:
5243         * include/instrument_functions.h:
5244         * include/ladspa_control.h:
5245         * include/audio_port.h:
5246         * include/automation_pattern.h:
5247         * include/effect_view.h:
5248         * include/graph.h:
5249         * include/song.h:
5250         * include/pattern.h:
5251         * include/envelope_and_lfo_parameters.h:
5252         * include/song_editor.h:
5253         * include/journalling_object.h:
5254         * include/automatable_model_view.h:
5255         * include/surround_area.h:
5256         * include/mv_base.h:
5257         * include/controller_view.h:
5258         * include/effect_controls.h:
5259         * include/midi_port.h:
5260         * include/automation_editor.h:
5261         * include/effect_chain.h:
5262         * include/automation_track.h:
5263         * include/track_container.h:
5264         * include/plugin_view.h:
5265         * src/gui/piano_roll.cpp:
5266         * src/gui/track_container_view.cpp:
5267         * src/gui/controller_dialog.cpp:
5268         * src/gui/automatable_model_view.cpp:
5269         * src/gui/effect_control_dialog.cpp:
5270         * src/gui/fx_mixer_view.cpp:
5271         * src/gui/song_editor.cpp:
5272         * src/gui/widgets/ladspa_control_view.cpp:
5273         * src/gui/widgets/graph.cpp:
5274         * src/gui/widgets/combobox.cpp:
5275         * src/gui/widgets/midi_port_menu.cpp:
5276         * src/gui/widgets/controller_rack_view.cpp:
5277         * src/gui/widgets/instrument_sound_shaping_view.cpp:
5278         * src/gui/widgets/envelope_and_lfo_view.cpp:
5279         * src/gui/widgets/knob.cpp:
5280         * src/gui/widgets/instrument_function_views.cpp:
5281         * src/gui/widgets/instrument_midi_io_view.cpp:
5282         * src/gui/widgets/automatable_slider.cpp:
5283         * src/gui/widgets/group_box.cpp:
5284         * src/gui/widgets/lcd_spinbox.cpp:
5285         * src/gui/widgets/controller_view.cpp:
5286         * src/gui/widgets/fader.cpp:
5287         * src/gui/widgets/effect_rack_view.cpp:
5288         * src/gui/widgets/tempo_sync_knob.cpp:
5289         * src/gui/widgets/automatable_button.cpp:
5290         * src/gui/widgets/meter_dialog.cpp:
5291         * src/gui/automation_editor.cpp:
5292         * src/tracks/automation_track.cpp:
5293         * src/tracks/sample_track.cpp:
5294         * src/tracks/bb_track.cpp:
5295         * src/tracks/instrument_track.cpp:
5296         * src/tracks/pattern.cpp:
5297         * src/core/effect_chain.cpp:
5298         * src/core/project_journal.cpp:
5299         * src/core/midi/midi_controller.cpp:
5300         * src/core/midi/midi_port.cpp:
5301         * src/core/note_play_handle.cpp:
5302         * src/core/song.cpp:
5303         * src/core/track_container.cpp:
5304         * src/core/bb_track_container.cpp:
5305         * src/core/journalling_object.cpp:
5306         * src/core/automatable_model.cpp:
5307         * src/core/audio/audio_port.cpp:
5308         * src/core/sample_play_handle.cpp:
5309         * src/core/envelope_and_lfo_parameters.cpp:
5310         * src/core/mmp.cpp:
5311         * src/core/instrument_sound_shaping.cpp:
5312         * src/core/meter_model.cpp:
5313         * src/core/instrument_functions.cpp:
5314         * src/core/track.cpp:
5315         * src/core/ladspa_control.cpp:
5316         * src/core/note.cpp:
5317         * src/core/piano.cpp:
5318         * src/core/surround_area.cpp:
5319         * src/core/mv_base.cpp:
5320         * src/core/automation_pattern.cpp:
5321         * src/core/fx_mixer.cpp:
5322         * data/themes/default/add_automation.png:
5323         - completely new automation-system with automation-tracks and
5324           automation-patterns as well as song-global automation
5325         - made modelView take a QWidget-pointer argument
5326         - trackContentObject-ctor now calls track::addTCO() directly
5327         - optimize various loops to use iterators/const_iterators instead of
5328           a running index variable
5329         - drag'n'drop doesn't fool around with pointers anymore - instead use
5330           unique journalling-IDs
5331         - moved drag'n'drop handling code from knob to automatableModelView so
5332           that all controls can benefit from that
5334 2008-06-23      Paul Giblock <drfaygo/at/gmail/dot/com>
5336         * include/lfo_controller.h:
5337         * src/gui/lfo_controller_dialog.cpp:
5338         * src/core/lfo_controller.cpp:
5339         * data/themes/default/lfo_d100_active.png:
5340         * data/themes/default/lfo_d100_inactive.png:
5341         * data/themes/default/lfo_x100_active.png:
5342         * data/themes/default/lfo_x100_inactive.png:
5343         * data/themes/default/lfo_x1_active.png:
5344         * data/themes/default/lfo_x1_inactive.png:
5345         Add multiplier to lfo-controller and fix tempo-sync knob.  Breaks old
5346         projects that use LFO, but shouldn't matter since 0.4 hasn't been
5347         released
5349         * src/gui/widgets/tempo_sync_knob.cpp:
5350         Allow tempo-sync knob to work with ranges other than [0..1]
5352         * src/core/envelope_and_lfo_parameters.cpp:
5353         Remove hardcoded literal, use already defined const int instead
5355         * data/projects/templates/CR8000.mpt:
5356         * data/projects/templates/TR808.mpt:
5357         Added two drumsynth templates
5359 2008-06-20      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
5361         * include/automatable_model_view.h:
5362         * src/core/piano.cpp:
5363         full context-menu for piano-basenote so it can be automated as well as
5364         controlled via controller
5366         * src/gui/widgets/knob.cpp:
5367         - when linking knobs via Shift+Drag do not use pointer to model as
5368           drag-data rather than model-ID which can be resolved via
5369           project-journal
5370         - fixed displayValue()
5372         * Makefile.am:
5373         * include/knob.h:
5374         * include/volume_knob.h:
5375         * plugins/organic/organic.cpp:
5376         * plugins/organic/organic.h:
5377         * plugins/vibed/vibed.h:
5378         * plugins/vibed/vibed.cpp:
5379         * plugins/triple_oscillator/triple_oscillator.h:
5380         * plugins/triple_oscillator/triple_oscillator.cpp:
5381         * plugins/audio_file_processor/audio_file_processor.cpp:
5382         * plugins/audio_file_processor/audio_file_processor.h:
5383         * src/tracks/instrument_track.cpp:
5384         * src/gui/widgets/knob.cpp:
5385         * src/gui/widgets/volume_knob.cpp:
5386         removed volumeKnob-class and added volumeKnob-property to knob-class
5387         instead
5389         * plugins/flp_import/flp_import.cpp:
5390         * include/controller_connection.h:
5391         * include/lcd_spinbox.h:
5392         * include/controller.h:
5393         * include/automatable_model.h:
5394         * include/instrument_track.h:
5395         * include/instrument_functions.h:
5396         * include/note_play_handle.h:
5397         * include/instrument_sound_shaping.h:
5398         * include/basic_filters.h:
5399         * include/sample_track.h:
5400         * include/surround_area.h:
5401         * src/core/note_play_handle.cpp:
5402         * src/core/automatable_model.cpp:
5403         * src/core/main.cpp:
5404         * src/core/instrument_sound_shaping.cpp:
5405         * src/core/piano.cpp:
5406         * src/core/surround_area.cpp:
5407         reduced header-dependencies and various cleanups
5409         * include/tempo_sync_knob.h:
5410         * src/gui/widgets/tempo_sync_knob.cpp:
5411         - do not re-implement private event-handlers and use knob's signals
5412           instead
5413         - fixed crash when closing meterDialog and choosing custom-sync
5414           afterwards
5416         * src/gui/fx_mixer_view.cpp:
5417         better initial position of FX-mixer view
5419         * src/gui/song_editor.cpp:
5420         removed obsolete headers
5422         * include/setup_dialog.h:
5423         * src/gui/bb_editor.cpp:
5424         * src/gui/main_window.cpp:
5425         * src/gui/setup_dialog.cpp:
5426         * src/gui/song_editor.cpp:
5427         * src/gui/widgets/controller_rack_view.cpp:
5428         * src/gui/widgets/knob.cpp:
5429         - removed obsolete non-MDI-mode
5430         - removed classical knob-usability
5431         - removed show-wizard-after-upgrade setting
5432         - other cleanups
5434 2008-06-20      Paul Giblock <drfaygo/at/gmail/dot/com>
5436         * src/core/piano.cpp:
5437         make SVN compile again
5439 2008-06-20      Paul Wayper <paulway/at/mabula/dot/net>
5441         * src/core/piano.cpp:
5442         added Doxygen documentation.
5444 2008-06-19      Paul Wayper <paulway/at/mabula/dot/net>
5446         * src/core/track.cpp:
5447         added Doxygen documentation.
5449 2008-06-16      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
5451         * plugins/Makefile.am:
5452         * configure.in:
5453         added libfftw3-detection
5455         * plugins/bass_booster/bassbooster_control_dialog.cpp:
5456         * plugins/bass_booster/artwork.png:
5457         * plugins/peak_controller_effect/peak_controller_effect_control_dialog.cpp:
5458         * plugins/peak_controller_effect/artwork.png:
5459         added metal-brushed background-artwork
5461         * src/tracks/instrument_track.cpp:
5462         added unit to pitch-knob
5464 2008-06-15      Paul Giblock <drfaygo/at/gmail/dot/com>
5466         * plugins/stereo_matrix/stereo_matrix.cpp:
5467         update author email address
5468         
5469         * src/gui/widgets/graph.cpp:
5470         * src/gui/lfo_controller_dialog.cpp:
5471         code cleanup
5473         * src/gui/widgets/fade_button.cpp:
5474         * src/tracks/instrument_track.cpp:
5475         improve appearance of fade buttons
5477         * include/tool_button.h:
5478         * src/gui/widgets/tool_button.cpp:
5479         * src/gui/lmms_style.cpp:
5480         * data/themes/default/style.css:
5481         remove styling, rely on QStyle and stylesheets now
5483         * include/song_editor.h:
5484         * include/main_window.h:
5485         * include/timeline.h:
5486         * src/gui/main_window.cpp:
5487         * src/gui/song_editor.cpp:
5488         * src/gui/widgets/nstate_button.cpp:
5489         * src/core/timeline.cpp:
5491         * data/themes/default/main_toolbar_bg.png:
5492         * data/themes/default/toolbar_bg.png:
5493         Enlarge images for resizable toolbars - quick fix. Could just clamp the
5494         texture at the bottom
5495         
5496 2008-06-15      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
5498         * include/knob.h:
5499         * src/gui/widgets/knob.cpp:
5500         - cache pixmap
5501         - only redraw if angle has changed by more than 3 degrees
5502         - cleanups
5504         * src/core/midi/midi_alsa_seq.cpp:
5505         cleanups and small optimizations
5507         * include/instrument_midi_io_view.h:
5508         * include/instrument_track.h:
5509         * include/midi_port.h:
5510         * src/core/midi/midi_port.cpp:
5511         * src/tracks/instrument_track.cpp:
5512         * src/gui/widgets/instrument_midi_io_view.cpp:
5513         refactored midiPortMenu-creation and -management - fixes crash when
5514         removing track which had MIDI-in enabled and enabled MIDI-in for
5515         another track afterwards
5517         * src/gui/file_browser.cpp:
5518         do not load MIDI-settings when loading preset as this might break
5519         existing instrument tracks
5521         * include/automatable_model.h:
5522         * src/tracks/instrument_track.cpp:
5523         directly handle MIDI-pitch-bend events
5525         * include/instrument_track.h:
5526         * src/core/note_play_handle.cpp:
5527         * src/tracks/instrument_track.cpp:
5528         - added pitch-knob to instrument-track
5529         - fixed activity indicator
5531         * plugins/stk/voices/flute/flute_model.cpp:
5532         * plugins/stk/voices/flute/flute_model.h:
5533         * plugins/stk/voices/flute/flute_instrument.cpp:
5534         * plugins/stk/voices/resonate/resonate_model.cpp:
5535         * plugins/stk/voices/resonate/resonate_model.h:
5536         * plugins/stk/voices/resonate/resonate_instrument.cpp:
5537         * plugins/stk/voices/include/stk_instrument.h:
5538         * plugins/stk/voices/include/stk_processor.h:
5539         * plugins/stk/voices/include/stk_model.h:
5540         * plugins/stk/voices/include/stk_voice.h:
5541         * plugins/stk/voices/wurley/wurley_instrument.cpp:
5542         * plugins/stk/voices/wurley/wurley_model.cpp:
5543         * plugins/stk/voices/wurley/wurley_model.h:
5544         * plugins/stk/voices/src/stk_model.cpp:
5545         * plugins/stk/voices/percflute/percflute_model.h:
5546         * plugins/stk/voices/percflute/percflute_instrument.cpp:
5547         * plugins/stk/voices/percflute/percflute_model.cpp:
5548         * plugins/stk/voices/rhodey/rhodey_model.h:
5549         * plugins/stk/voices/rhodey/rhodey_instrument.cpp:
5550         * plugins/stk/voices/rhodey/rhodey_model.cpp:
5551         * plugins/stk/voices/tubebell/tubebell_model.cpp:
5552         * plugins/stk/voices/tubebell/tubebell_model.h:
5553         * plugins/stk/voices/tubebell/tubebell_instrument.cpp:
5554         * plugins/stk/voices/bowed/bowed_model.cpp:
5555         * plugins/stk/voices/bowed/bowed_model.h:
5556         * plugins/stk/voices/bowed/bowed_instrument.cpp:
5557         * plugins/stk/voices/clarinet/clarinet_model.cpp:
5558         * plugins/stk/voices/clarinet/clarinet_model.h:
5559         * plugins/stk/voices/clarinet/clarinet_instrument.cpp:
5560         * plugins/stk/voices/moog/moog_model.cpp:
5561         * plugins/stk/voices/moog/moog_model.h:
5562         * plugins/stk/voices/moog/moog_instrument.cpp:
5563         * plugins/stk/voices/metal/metal_model.cpp:
5564         * plugins/stk/voices/metal/metal_model.h:
5565         * plugins/stk/voices/metal/metal_instrument.cpp:
5566         * plugins/stk/voices/b3/b3_model.cpp:
5567         * plugins/stk/voices/b3/b3_model.h:
5568         * plugins/stk/voices/b3/b3_instrument.cpp:
5569         * plugins/stk/voices/blow_hole/blow_hole_model.h:
5570         * plugins/stk/voices/blow_hole/blow_hole_instrument.cpp:
5571         * plugins/stk/voices/blow_hole/blow_hole_model.cpp:
5572         * plugins/stk/voices/brass/brass_model.h:
5573         * plugins/stk/voices/brass/brass_instrument.cpp:
5574         * plugins/stk/voices/brass/brass_model.cpp:
5575         * plugins/stk/voices/fmvoices/fmvoices_model.h:
5576         * plugins/stk/voices/fmvoices/fmvoices_instrument.cpp:
5577         * plugins/stk/voices/fmvoices/fmvoices_model.cpp:
5578         * plugins/stk/voices/bandedwg/bandedwg_model.h:
5579         * plugins/stk/voices/bandedwg/bandedwg_instrument.cpp:
5580         * plugins/stk/voices/bandedwg/bandedwg_model.cpp:
5581         * plugins/stk/voices/blow_bottle/blow_bottle_model.h:
5582         * plugins/stk/voices/blow_bottle/blow_bottle_instrument.cpp:
5583         * plugins/stk/voices/blow_bottle/blow_bottle_model.cpp:
5584         made STK-voices-plugins compile after they've not been maintained for
5585         a while
5587         * include/pixmap_button.h:
5588         * src/gui/widgets/pixmap_button.cpp:
5589         removed removed obsolete ctrlClick() signal
5591         * include/track_container.h:
5592         * src/core/track_container.cpp:
5593         removed obsolete setMutedOfAllTracks() method
5595         * src/core/song.cpp:
5596         - lock mixer while loading project - fixes crashes when loading projects
5597           with FX-mixer settings
5598         - update BB-track-container after creating a new project - fixes
5599           non-existing TCOs (i.e. patterns) in BB-Editor in new projects
5601         * include/config_mgr.h:
5602         added missing include
5604         * src/tracks/bb_track.cpp:
5605         unregister BB-track-view from BB-editor at destruction - fixes crash
5606         when removing BB-tracks
5608         * src/core/bb_track_container.cpp:
5609         cleanups and more optimized loops
5611         * include/track.h:
5612         * src/core/track.cpp:
5613         - fixed issue when moving BB-tracks up/down where actual BB-TCOs were
5614           not moved (closes #1994468)
5615         - in trackContentObjectView and trackView, handle deletion of models
5616           more gracefully
5618 2008-06-14      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
5620         * plugins/spectrum_analyzer/spectrum_analyzer.cpp:
5621         don't apply window-function to data as this seems to make things only
5622         even worse
5624         * plugins/spectrum_analyzer/log_x_axis.png:
5625         * plugins/spectrum_analyzer/log_y_axis.png:
5626         * plugins/spectrum_analyzer/background.png:
5627         * plugins/spectrum_analyzer/spectrum_background.png:
5628         * plugins/spectrum_analyzer/spectrum_background_plain.png:
5629         * plugins/spectrum_analyzer/spectrumanalyzer_control_dialog.cpp:
5630         * plugins/spectrum_analyzer/spectrum_analyzer.cpp:
5631         * plugins/spectrum_analyzer/spectrumanalyzer_controls.cpp:
5632         * plugins/spectrum_analyzer/spectrumanalyzer_control_dialog.h:
5633         labeled axes and correct logarithmic view
5635         * plugins/spectrum_analyzer/background.png:
5636         * plugins/spectrum_analyzer/spectrum_background.png:
5637         * plugins/spectrum_analyzer/spectrum_background_plain.png:
5638         * plugins/spectrum_analyzer/spectrumanalyzer_control_dialog.cpp:
5639         * plugins/spectrum_analyzer/spectrum_analyzer.h:
5640         improved appearence of Spectrum Analzyer
5642         * configure.in:
5643         * plugins/Makefile.am:
5644         * plugins/spectrum_analyzer/Makefile.am:
5645         * plugins/spectrum_analyzer/logo.png:
5646         * plugins/spectrum_analyzer/spectrum_analyzer.h:
5647         * plugins/spectrum_analyzer/spectrum_analyzer.cpp:
5648         * plugins/spectrum_analyzer/spectrumanalyzer_controls.h:
5649         * plugins/spectrum_analyzer/spectrumanalyzer_controls.cpp:
5650         * plugins/spectrum_analyzer/spectrumanalyzer_control_dialog.h:
5651         * plugins/spectrum_analyzer/spectrumanalyzer_control_dialog.cpp:
5652         added initial version of spectrum analyzer - very basic at the moment!
5654         * plugins/bass_booster/bass_booster.cpp:
5655         * plugins/bass_booster/bass_booster.h:
5656         * plugins/bass_booster/bassbooster_controls.h:
5657         * plugins/ladspa_effect/ladspa_controls.h:
5658         * plugins/peak_controller_effect/peak_controller_effect_controls.h:
5659         * plugins/stereo_enhancer/stereoenhancer_controls.h:
5660         * plugins/stereo_matrix/stereomatrix_controls.h:
5661         * plugins/vst_effect/vst_effect_controls.h:
5662         * include/dummy_effect.h:
5663         * include/effect_controls.h:
5664         changed return-type of effectControls::getControlCount()
5666 2008-06-12      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
5668         * include/project_renderer.h:
5669         * src/gui/dialogs/export_project.ui:
5670         * src/gui/export_project_dialog.cpp:
5671         * src/core/audio/audio_file_ogg.cpp:
5672         * src/core/main.cpp:
5673         * src/core/project_renderer.cpp:
5674         improved support for different file-formats when exporting and fixed
5675         bug which made LMMS crash when exporting to OGG-file
5677 2008-06-10      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
5679         * src/core/song.cpp:
5680         fixed loading files in no-GUI mode
5682         * include/mixer.h:
5683         * src/core/audio/audio_device.cpp:
5684         * src/core/mixer.cpp:
5685         * src/core/project_renderer.cpp:
5686         don't use fifoWriter when rendering as we do not have realtime issues
5687         here - fixes lockups on various systems when exporting project
5689         * plugins/sf2_player/sf2_player.cpp:
5690         enabled LCD-Spinboxes for easily switching banks/patches - I know that
5691         this way you can select banks/patches that do not exist but opening
5692         patch-dialog each time is much more inconvenient - maybe we can
5693         subclass lcdSpinBox one day so that it automatically "skips" wholes
5694         when scrolling
5696         * include/instrument_track.h:
5697         * src/tracks/instrument_track.cpp:
5698         removed obsolete instrumentTrackView::updateName() and made
5699         track-button update on name-changes
5701 2008-06-10      Paul Giblock <drfaygo/at/gmail/dot/com>
5703         * plugins/sf2_player/artwork.png:
5704         * plugins/sf2_player/chorus_off.png:
5705         * plugins/sf2_player/chorus_on.png:
5706         * plugins/sf2_player/fileselect_off.png:
5707         * plugins/sf2_player/fileselect_on.png:
5708         * plugins/sf2_player/patches_on.png:
5709         * plugins/sf2_player/patches_off.png:
5710         * plugins/sf2_player/reverb_off.png:
5711         * plugins/sf2_player/reverb_on.png:
5712         * plugins/sf2_player/sf2_player.cpp:
5713         * plugins/sf2_player/sf2_player.h:
5714         * data/themes/default/style.css:
5715         * data/themes/default/lcd_21pink.png:
5716         integrate new sf2 artwork, for the most part at least
5718 2008-06-09      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
5720         * src/gui/main_window.cpp:
5721         also show *.xiz files in preset-browser
5723         * src/gui/file_browser.cpp:
5724         classify .xml-files always as presets and do not examine them more
5725         detailed - also improves LMMS-startup-times
5727         * Makefile.am:
5728         added a few files to LMMS-headers
5730 2008-06-08      Paul Giblock <drfaygo/at/gmail/dot/com>
5732         * src/gui/widgets/graph.h:
5733         * src/gui/widgets/graph.cpp:
5734         - Fix graph widget "scrolling"
5735         - Add styles so it can be drawn un-interpolated
5737         * include/mv_base.h:
5738         * src/core/mv_base.cpp:
5739         Add recursive fullDisplayName function
5741         * include/combobox_model.h:
5742         * src/gui/widgets/automatable_button.cpp:
5743         * src/gui/widgets/combobox.cpp:
5744         * src/gui/widgets/tempo_sync_knob.cpp:
5745         * src/gui/widgets/effect_view.cpp:
5746         * src/gui/lfo_controller_dialog.cpp:
5747         * src/core/midi/midi_port.cpp:
5748         * src/core/fx_mixer.cpp:
5749         * src/core/lfo_controller.cpp:
5750         * src/core/effect.cpp:
5751         extend more models and views for displayName
5753         * include/instrument.h:
5754         * src/gui/widgets/instrument_sound_shaping_view.cpp:
5755         * src/gui/widgets/envelope_and_lfo_view.cpp:
5756         * src/gui/widgets/instrument_function_views.cpp:
5757         * src/gui/widgets/instrument_midi_io_view.cpp:
5758         * src/core/envelope_and_lfo_parameters.cpp:
5759         * src/core/instrument_sound_shaping.cpp:
5760         * src/core/instrument_functions.cpp:
5761         * src/core/instrument.cpp:
5762         extend instrument stuff for displayName
5764         * include/controller_connection_dialog.h:
5765         * src/gui/controller_connection_dialog.cpp:
5766         improve interface slightly
5768         * plugins/bit_invader/bit_invader.cpp:
5769         change graph style mode when toggling interpolation
5771         * plugins/peak_controller_effect:
5772         * plugins/peak_controller_effect/peak_controller_effect_control_dialog.cpp:
5773         * plugins/peak_controller_effect/peak_controller_effect.cpp:
5774         * plugins/peak_controller_effect/logo.png:
5775         * plugins/peak_controller_effect/peak_controller_effect_controls.cpp:
5776         * plugins/peak_controller_effect/peak_controller_effect_control_dialog.h:
5777         * plugins/peak_controller_effect/peak_controller_effect.h:
5778         * plugins/peak_controller_effect/peak_controller_effect_controls.h:
5779         * plugins/peak_controller_effect/Makefile.am:
5780         * plugins/Makefile.am:
5781         * include/peak_controller.h:
5782         * include/controller.h:
5783         * include/automatable_model.h:
5784         * src/gui/peak_controller_dialog.cpp:
5785         * src/core/peak_controller.cpp:
5786         * src/core/controller.cpp:
5787         * configure.in:
5788         * Makefile.am:
5789         - Very first implementation of peak-controller
5790         - Create one by adding it in the effect-chain, then connecting a widget to
5791         the controller
5792         - There is no sample-exactness, smoothing, or anything like that yet
5794 2008-06-08      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
5796         * plugins/ladspa_effect/tap/tap_deesser.c:
5797         * plugins/ladspa_effect/tap/tap_sigmoid.c:
5798         * plugins/ladspa_effect/tap/tap_doubler.c:
5799         * plugins/ladspa_effect/tap/ladspa-local.h:
5800         * plugins/ladspa_effect/tap/tap_eqbw.c:
5801         * plugins/ladspa_effect/tap/tap_pinknoise.c:
5802         * plugins/ladspa_effect/tap/tap_chorusflanger.c:
5803         * plugins/ladspa_effect/tap/tap_eq.c:
5804         * plugins/ladspa_effect/tap/tap_limiter.c:
5805         * plugins/ladspa_effect/tap/ladspa.h:
5806         * plugins/ladspa_effect/tap/tap_vibrato.c:
5807         * plugins/ladspa_effect/tap/tap_autopan.c:
5808         * plugins/ladspa_effect/tap/tap_pitch.c:
5809         * plugins/ladspa_effect/tap/tap_dynamics_st.c:
5810         * plugins/ladspa_effect/tap/tap_echo.c:
5811         * plugins/ladspa_effect/tap/tap_tremolo.c:
5812         * plugins/ladspa_effect/tap/tap_tubewarmth.c:
5813         * plugins/ladspa_effect/tap/tap_dynamics_m.c:
5814         * plugins/ladspa_effect/tap/Makefile.am:
5815         * plugins/ladspa_effect/tap/tap_reflector.c:
5816         * plugins/ladspa_effect/tap/tap_reverb.c:
5817         * plugins/ladspa_effect/tap/tap_rotspeak.c:
5818         * plugins/ladspa_effect/caps/basics.h:
5819         * plugins/ladspa_effect/caps/Makefile.am:
5820         * plugins/vst_base/lvsl_client.cpp:
5821         * plugins/vst_base/lvsl_server.cpp:
5822         * plugins/vst_base/communication.h:
5823         * plugins/midi_import/midi_import.h:
5824         * include/effect.h:
5825         * include/midi_dummy.h:
5826         * include/endian_handling.h:
5827         * include/track.h:
5828         * include/note.h:
5829         * include/engine.h:
5830         * include/sweep_oscillator.h:
5831         * include/debug.h:
5832         * include/midi_alsa_raw.h:
5833         * include/config_mgr.h:
5834         * include/import_filter.h:
5835         * include/audio_file_wave.h:
5836         * include/mixer.h:
5837         * include/audio_file_ogg.h:
5838         * include/ladspa_manager.h:
5839         * include/ladspa_control.h:
5840         * include/sample_buffer.h:
5841         * include/fx_mixer.h:
5842         * include/nstate_button.h:
5843         * include/audio_pulseaudio.h:
5844         * include/clipboard.h:
5845         * include/audio_sdl.h:
5846         * include/micro_timer.h:
5847         * include/midi_event_processor.h:
5848         * include/audio_jack.h:
5849         * include/piano_roll.h:
5850         * include/volume.h:
5851         * include/oscillator.h:
5852         * include/export.h:
5853         * include/midi_alsa_seq.h:
5854         * include/tool.h:
5855         * include/setup_dialog.h:
5856         * include/tab_bar.h:
5857         * include/audio_device.h:
5858         * include/audio_oss.h:
5859         * include/audio_alsa.h:
5860         * src/gui/piano_roll.cpp:
5861         * src/gui/main_window.cpp:
5862         * src/gui/song_editor.cpp:
5863         * src/gui/setup_dialog.cpp:
5864         * src/gui/about_dialog.cpp:
5865         * src/tracks/instrument_track.cpp:
5866         * src/core/plugin.cpp:
5867         * src/core/song.cpp:
5868         * src/core/config_mgr.cpp:
5869         * src/core/audio/audio_oss.cpp:
5870         * src/core/envelope_and_lfo_parameters.cpp:
5871         * src/core/main.cpp:
5872         * src/core/mmp.cpp:
5873         * src/core/ladspa_manager.cpp:
5874         * src/core/ladspa_control.cpp:
5875         * src/core/sample_buffer.cpp:
5876         * Makefile.am:
5877         use lmmsconfig.h rather than config.h and use prefixed macro-names
5879         * acinclude.m4:
5880         * configure.in:
5881         create include/lmmsconfig.h which contains prefixed config.h defines
5883 2008-06-07      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
5885         * src/core/song.cpp:
5886         reset m_modified after loading a project, creating a new one or saving
5888         * src/core/song.cpp:
5889         in song::setModified() only call mainWindow::resetWindowTitle() when
5890         being called with GUI-thread affinity
5892         * include/automatable_model.h:
5893         * src/core/automatable_model.cpp:
5894         * src/core/automation_pattern.cpp:
5895         added fast and more leight-weight setAutomatedValue() which omits
5896         things like journalling - makes things faster and doesn't introduce
5897         threading-problems
5899         * src/core/mmp.cpp:
5900         handle renamed midi-node ("midi" -> "midiport")
5902         * src/tracks/instrument_track.cpp:
5903         fixed MIDI-IO when using raw MIDI client
5905         * plugins/midi_import/midi_import.cpp:
5906         * include/song.h:
5907         added support for importing time-signature settings
5909         * Makefile.am:
5910         * plugins/midi_import/midi_import.cpp:
5911         * plugins/vestige/vestige.cpp:
5912         * plugins/vst_base/lvsl_client.cpp:
5913         * plugins/vst_base/lvsl_server.cpp:
5914         * include/meter_model.h:
5915         * include/midi.h:
5916         * src/core/note_play_handle.cpp:
5917         * src/core/piano.cpp:
5918         * src/core/midi/midi_alsa_seq.cpp:
5919         * src/core/midi/midi_client.cpp:
5920         * src/core/midi/midi_controller.cpp:
5921         * src/core/midi/midi_port.cpp:
5922         * src/tracks/instrument_track.cpp:
5923         * src/gui/controller_connection_dialog.cpp:
5924         * src/gui/piano_roll.cpp:
5925         made MidiEventTypes-enum conform coding-style, i.e. MidiNoteOn instead
5926         of NOTE_ON etc.
5928         * include/controller_connection_dialog.h:
5929         * include/instrument_midi_io_view.h:
5930         * include/instrument_track.h:
5931         * include/midi_alsa_raw.h:
5932         * include/midi_alsa_seq.h:
5933         * include/midi_client.h:
5934         * include/midi_controller.h:
5935         * include/midi_io_model.h:
5936         * include/midi_oss.h:
5937         * include/midi_port.h:
5938         * include/midi_port_menu.h:
5939         * src/core/note_play_handle.cpp:
5940         * src/core/preset_preview_play_handle.cpp:
5941         * src/core/song.cpp:
5942         * src/core/midi/midi_client.cpp:
5943         * src/core/midi/midi_controller.cpp:
5944         * src/core/midi/midi_port.cpp:
5945         * src/core/midi/midi_io_model.cpp:
5946         * src/core/midi/midi_alsa_seq.cpp:
5947         * src/gui/piano_roll.cpp:
5948         * src/gui/controller_connection_dialog.cpp:
5949         * src/gui/widgets/instrument_midi_io_view.cpp:
5950         * src/tracks/instrument_track.cpp:
5951         * Makefile.am:
5952         rewrote management of MIDI-ports and MIDI-port subscriptions - now
5953         it's central and easy to use
5955 2008-06-06      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
5957         * include/note.h:
5958         * include/serializing_object.h:
5959         * include/instrument_track.h:
5960         * include/sample_buffer.h:
5961         * include/journalling_object.h:
5962         * src/gui/automation_editor.cpp:
5963         * src/core/serializing_object.cpp:
5964         * src/core/journalling_object.cpp:
5965         * src/core/note.cpp:
5966         * Makefile.am:
5967         splitted basic functionality of journallingObject into
5968         serializingObject so that creating note objects, notePlayHandles etc.
5969         does not have all the journalling-overhead (assigning/freeing ID etc.)
5971 2008-06-06      Paul Giblock <drfaygo/at/gmail/dot/com>
5973         * include/knob.h:
5974         * include/automatable_slider.h:
5975         * include/controller_connection.h:
5976         * include/midi_controller.h:
5977         * include/automatable_model.h:
5978         * include/automatable_button.h:
5979         * include/tempo_sync_knob.h:
5980         * include/controller_connection_dialog.h:
5981         * include/pixmap_button.h:
5982         * include/automatable_model_view.h:
5983         * include/mv_base.h:
5984         * include/volume_knob.h:
5985         * src/gui/automatable_model_view.cpp:
5986         * src/gui/controller_connection_dialog.cpp:
5987         * src/gui/widgets/knob.cpp:
5988         * src/gui/widgets/automatable_slider.cpp:
5989         * src/gui/widgets/group_box.cpp:
5990         * src/gui/widgets/lcd_spinbox.cpp:
5991         * src/gui/widgets/tempo_sync_knob.cpp:
5992         * src/gui/widgets/automatable_button.cpp:
5993         * src/core/midi/midi_controller.cpp:
5994         * src/core/automatable_model.cpp:
5995         * src/core/controller_connection.cpp:
5996         - add support for sequenced midi in midi-controllers
5997         - add displayName field to model / autoModel for descriptive model trees
5998         - use displayName for midiController and contextMenus
6000         * src/core/ladspa_control.cpp:
6001         * plugins/lb302/lb302.cpp:
6002         * plugins/organic/organic.cpp:
6003         * plugins/organic/organic.h:
6004         * plugins/bass_booster/bassbooster_control_dialog.cpp:
6005         * plugins/bass_booster/bassbooster_controls.cpp:
6006         * plugins/stereo_matrix/stereomatrix_control_dialog.cpp:
6007         * plugins/stereo_matrix/stereomatrix_controls.cpp:
6008         * plugins/bit_invader/bit_invader.cpp:
6009         * plugins/vibed/nine_button_selector.cpp:
6010         * plugins/vibed/vibed.cpp:
6011         * plugins/audio_file_processor/audio_file_processor.cpp:
6012         * plugins/stereo_enhancer/stereoenhancer_control_dialog.cpp:
6013         * plugins/stereo_enhancer/stereoenhancer_controls.cpp:
6014         * plugins/sf2_player/sf2_player.cpp:
6015         * plugins/kicker/kicker.cpp:
6016         * plugins/stk/mallets/mallets.cpp:
6017         * plugins/triple_oscillator/triple_oscillator.h:
6018         * plugins/triple_oscillator/triple_oscillator.cpp:
6019         - Update plugins to use displayName for child widgets
6020         - Still need to do this to all of LMMS core
6022         * include/effect_lib.h:
6023         * src/core/lfo_controller.cpp:
6024         Fix compile time warnings
6026         * include/automatable_model.h:
6027         * include/instrument_track.h:
6028         * include/controller_connection_dialog.h:
6029         * src/gui/controller_connection_dialog.cpp:
6030         * src/tracks/instrument_track.cpp:
6031         Test to see if we can now generate reasonable midi-port names. We can,
6032         the feature is very beta right now (no screenupdating, loading, etc..)
6033         
6034 2008-06-05      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
6036         * include/track.h:
6037         * include/track_container_view.h:
6038         * src/core/track.cpp:
6039         * src/gui/track_container_view.cpp:
6040         remove track from within slot in trackContainerView for not deleting
6041         object inside its own method - fixes Qt-warning and closes #1981812
6043         * src/tracks/instrument_track.cpp:
6044         when freeing instrument-window, also free view immediately - fixes
6045         crash when removing instrument-track while instrument-track window was
6046         open
6048         * include/automatable_model.h:
6049         * include/automation_editor.h:
6050         * src/gui/piano_roll.cpp:
6051         * src/gui/widgets/graph.cpp:
6052         * src/gui/widgets/knob.cpp:
6053         * src/gui/widgets/fader.cpp:
6054         * src/gui/automation_editor.cpp:
6055         fixed various GCC-warnings
6057 2008-06-05      Paul Giblock <drfaygo/at/gmail/dot/com>
6059         * include/automatable_model.h:
6060         * include/mv_base.h:
6061         * src/gui/automatable_model_view.cpp:
6062         * src/gui/widgets/knob.cpp:
6063         add setDisplayName to model, but doesn't work right for some reason
6065 2008-06-05      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
6067         * include/note.h:
6068         * include/note_play_handle.h:
6069         removed obsolete FASTCALL-attributes
6071         * include/project_journal.h:
6072         * src/core/project_journal.cpp:
6073         * src/core/song.cpp:
6074         heavily optimized journal-cleanup - project unloading is now
6075         unbelievable fast!
6077 2008-06-05      Paul Giblock <drfaygo/at/gmail/dot/com>
6079         * data/themes/default/style.css:
6080         fix check-marks on menus.  They used to all appear checked no matter what
6082 2008-06-05      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
6084         * include/track.h:
6085         * src/core/track.cpp:
6086         re-arranged mute- and solo-buttons
6088         * plugins/ladspa_effect/tap/tap_deesser.c:
6089         * plugins/ladspa_effect/tap/tap_reverb.h:
6090         * plugins/ladspa_effect/tap/tap_sigmoid.c:
6091         * plugins/ladspa_effect/tap/tap_doubler.c:
6092         * plugins/ladspa_effect/tap/tap_eqbw.c:
6093         * plugins/ladspa_effect/tap/tap_pinknoise.c:
6094         * plugins/ladspa_effect/tap/tap_reverb_presets.h:
6095         * plugins/ladspa_effect/tap/tap_chorusflanger.c:
6096         * plugins/ladspa_effect/tap/ladspa.h:
6097         * plugins/ladspa_effect/tap/tap_limiter.c:
6098         * plugins/ladspa_effect/tap/tap_utils.h:
6099         * plugins/ladspa_effect/tap/tap_eq.c:
6100         * plugins/ladspa_effect/tap/tap_vibrato.c:
6101         * plugins/ladspa_effect/tap/tap_autopan.c:
6102         * plugins/ladspa_effect/tap/tap_pitch.c:
6103         * plugins/ladspa_effect/tap/CREDITS:
6104         * plugins/ladspa_effect/tap/README:
6105         * plugins/ladspa_effect/tap/tap_dynamics_st.c:
6106         * plugins/ladspa_effect/tap/tap_echo.c:
6107         * plugins/ladspa_effect/tap/tap_tremolo.c:
6108         * plugins/ladspa_effect/tap/tap_dynamics_presets.h:
6109         * plugins/ladspa_effect/tap/tap_tubewarmth.c:
6110         * plugins/ladspa_effect/tap/COPYING:
6111         * plugins/ladspa_effect/tap/tap_dynamics_m.c:
6112         * plugins/ladspa_effect/tap/Makefile.am:
6113         * plugins/ladspa_effect/tap/tap_reflector.c:
6114         * plugins/ladspa_effect/tap/tap_reverb.c:
6115         * plugins/ladspa_effect/tap/tap_rotspeak.c:
6116         * plugins/ladspa_effect/Makefile.am:
6117         * configure.in:
6118         * Makefile.am:
6119         integrated TAP-plugins to be shipped with LMMS
6121 2008-06-04      Paul Giblock <drfaygo/at/gmail/dot/com>
6123         * src/gui/lmms_style.cpp:
6124         Shrink the titlebars
6126 2008-06-03      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
6128         * plugins/vibed/nine_button_selector.cpp:
6129         * plugins/live_tool/live_tool.cpp:
6130         * include/note_play_handle.h:
6131         * include/track_container.h:
6132         * include/track.h:
6133         * src/tracks/bb_track.cpp:
6134         * src/tracks/instrument_track.cpp:
6135         * src/tracks/pattern.cpp:
6136         * src/core/sample_play_handle.cpp:
6137         * src/core/track.cpp:
6138         renamed muted() to isMuted() and other coding-style fixes
6140         * src/gui/widgets/automatable_slider.cpp:
6141         * src/gui/widgets/lcd_spinbox.cpp:
6142         * src/gui/widgets/automatable_button.cpp:
6143         use automatableModelView::addDefaultActions()
6145         * src/gui/widgets/tooltip.cpp:
6146         re-enabled tooltips
6148         * include/track.h:
6149         * include/track_container.h:
6150         * src/core/track.cpp:
6151         * data/themes/default/led_red.png:
6152         added fully-functional solo-button
6154         * include/automation_editor.h:
6155         * src/gui/automation_editor.cpp:
6156         fixed broken automation-drawing for floatModels
6158         * configure.in:
6159         * Makefile.am:
6160         support for building win32-version with OGG/vorbis-support
6162         * src/gui/main_window.cpp:
6163         added separator in edit-menu
6165         * src/core/config_mgr.cpp:
6166         fixed paths for win32-build
6168         * src/core/sample_buffer.cpp:
6169         fixed platform-dependent sampleBuffer::tryToMakeAbsolute(...)
6171         * lmms.rc.in:
6172         * Makefile.am:
6173         * data/lmms.ico:
6174         added icon and resource-file
6176         * Makefile.am:
6177         added win32-pkg target
6179 2008-06-02      Paul Giblock <drfaygo/at/gmail/dot/com>
6181         * plugins/sf2_player/sf2_player.cpp:
6182         * plugins/sf2_player/sf2_player.h:
6183         * src/gui/main_window.cpp:
6184         Support loading of sf2 files from the sidebar sample browser
6186         * include/knob.h:
6187         * include/automatable_model_view.h:
6188         * src/gui/automatable_model_view.cpp:
6189         * src/gui/widgets/knob.cpp:
6190         * Makefile.am:
6191         - move context menu stuff to automatableModelView
6192         - add automatableModelViewSlots for slots we may wish to call from AMV
6194         * include/midi_controller.h:
6195         code style
6197         * src/core/midi/midi_controller.cpp:
6198         name midiControllers after their channel/controller
6200         * src/gui/widgets/fader.cpp:
6201         Use default context menu
6203         * src/gui/controller_connection_dialog.cpp:
6204         don't choose the controller if the user didn't actually choose anything
6206 2008-06-02      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
6208         * src/core/mixer.cpp:
6209         try all audio-drivers at startup even if dummy-driver is selected
6211         * configure.in:
6212         * Makefile.am:
6213         properly link against win32-libsndfile
6215         * plugins/patman/patman.cpp:
6216         * plugins/patman/Makefile.am:
6217         * plugins/ladspa_effect/ladspa_effect.cpp:
6218         * plugins/ladspa_effect/caps/Makefile.am:
6219         * plugins/ladspa_effect/Makefile.am:
6220         * plugins/organic/organic.cpp:
6221         * plugins/organic/Makefile.am:
6222         * plugins/lb302/lb302.cpp:
6223         * plugins/lb302/Makefile.am:
6224         * plugins/bass_booster/bass_booster.cpp:
6225         * plugins/bass_booster/Makefile.am:
6226         * plugins/stereo_matrix/stereo_matrix.cpp:
6227         * plugins/stereo_matrix/Makefile.am:
6228         * plugins/bit_invader/bit_invader.cpp:
6229         * plugins/bit_invader/Makefile.am:
6230         * plugins/vibed/Makefile.am:
6231         * plugins/vibed/vibed.cpp:
6232         * plugins/live_tool/Makefile.am:
6233         * plugins/live_tool/live_tool.cpp:
6234         * plugins/stereo_enhancer/stereo_enhancer.cpp:
6235         * plugins/stereo_enhancer/Makefile.am:
6236         * plugins/sf2_player/patches_dialog.cpp:
6237         * plugins/sf2_player/sf2_player.cpp:
6238         * plugins/sf2_player/Makefile.am:
6239         * plugins/sf2_player/patches_dialog.h:
6240         * plugins/ladspa_browser/ladspa_browser.cpp:
6241         * plugins/ladspa_browser/Makefile.am:
6242         * plugins/ladspa_browser/ladspa_browser.h:
6243         * plugins/kicker/Makefile.am:
6244         * plugins/kicker/kicker.cpp:
6245         * plugins/flp_import/Makefile.am:
6246         * plugins/flp_import/flp_import.cpp:
6247         * plugins/midi_import/Makefile.am:
6248         * plugins/midi_import/midi_import.cpp:
6249         build win32-DLLs properly
6251         * include/mmp.h:
6252         * include/effect.h:
6253         * include/lcd_spinbox.h:
6254         * include/engine.h:
6255         * include/embed.h:
6256         * include/bb_track_container.h:
6257         * include/config_mgr.h:
6258         * include/import_filter.h:
6259         * include/ladspa_manager.h:
6260         * include/ladspa_control.h:
6261         * include/automation_pattern.h:
6262         * include/graph.h:
6263         * include/effect_control_dialog.h:
6264         * include/pattern.h:
6265         * include/string_pair_drag.h:
6266         * include/caption_menu.h:
6267         * include/envelope_and_lfo_parameters.h:
6268         * include/bb_track.h:
6269         * include/project_notes.h:
6270         * include/export.h:
6271         * include/tooltip.h:
6272         * include/ladspa_control_view.h:
6273         * include/journalling_object.h:
6274         * include/tool.h:
6275         * include/tab_bar.h:
6276         * include/types.h:
6277         * include/mv_base.h:
6278         * include/track_container.h:
6279         * include/led_checkbox.h:
6280         * include/ladspa_2_lmms.h:
6281         * src/3rdparty/samplerate/samplerate.h:
6282         export more symbols in order to build all plugins
6284         * configure.in:
6285         added code for detecting fluidsynth-DLL
6287         * src/core/config_mgr.cpp:
6288         customized path to LADSPA-plugins under win32
6290         * src/core/midi/midi_alsa_seq.cpp:
6291         do not free port_info-structure before actually (un)subscribing -
6292         fixes non-working automatic port-subscription
6294         * src/core/ladspa_manager.cpp:
6295         win32-compat
6297         * src/core/instrument_midi_io.cpp:
6298         coding style
6300 2008-06-02      Paul Giblock <drfaygo/at/gmail/dot/com>
6302         * include/automatable_model.h:
6303         * include/controller_connection.h:
6304         * src/core/automatable_model.cpp:
6305         * src/core/controller_connection.cpp:
6306         Support for automatic deletion of controller if owned by connection
6308         * include/controller.h:
6309         * include/midi_controller.h:
6310         * include/controller_connection_dialog.h:
6311         * src/gui/widgets/knob.cpp:
6312         * src/gui/controller_connection_dialog.cpp:
6313         * src/core/midi/midi_controller.cpp:
6314         * src/core/controller.cpp:
6315         * Makefile.am:
6316         - Add midi-controller support
6317         - Allow editing of connection through context menu
6318         - Code clean-up
6320         * include/midi.h:
6321         add const for max controller ID and add bytes array to the midiEvent
6322         m_data union
6324         * src/core/midi/midi_client.cpp:
6325         Don't subtract octave from control change events
6327         * src/tracks/instrument_track.cpp:
6328         Ignore unhandled control change events
6330         * src/tracks/pattern.cpp:
6331         Minor pixel adjustment to TCO drawing
6333         * src/core/track.cpp:
6334         Correct misleading textFloat
6336         * src/core/song.cpp:
6337         Code style
6339 2008-06-01      Paul Giblock <drfaygo/at/gmail/dot/com>
6340         
6341         * src/tracks/pattern.cpp:
6342         Improve drawing of tact lines, so it is more obvious where a pattern
6343         ends
6345         * src/core/track.cpp:
6346         Display floating text underneith the current track so you can actually
6347         see what you are doing
6349         * src/core/config_mgr.cpp:
6350         Gracefully handle default lmmsrc.xml creation instead of aborting
6351         
6352 2008-06-01      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
6354         * plugins/ladspa_effect/caps/basics.h:
6355         * plugins/ladspa_effect/caps/interface.cc:
6356         win32-build fixes
6358         * plugins/triple_oscillator/Makefile.am:
6359         * plugins/triple_oscillator/triple_oscillator.cpp:
6360         * plugins/audio_file_processor/audio_file_processor.cpp:
6361         * plugins/audio_file_processor/Makefile.am:
6362         made ready for building plugins as DLLs
6364         * plugins/kicker/kicker.h:
6365         include QtCore/QObject rather than QObject
6367         * include/mmp.h:
6368         * include/knob.h:
6369         * include/track.h:
6370         * include/engine.h:
6371         * include/note.h:
6372         * include/embed.h:
6373         * include/instrument_view.h:
6374         * include/config_mgr.h:
6375         * include/automatable_model.h:
6376         * include/mixer.h:
6377         * include/instrument_track.h:
6378         * include/instrument.h:
6379         * include/sample_buffer.h:
6380         * include/plugin.h:
6381         * include/note_play_handle.h:
6382         * include/song.h:
6383         * include/string_pair_drag.h:
6384         * include/oscillator.h:
6385         * include/automatable_button.h:
6386         * include/tooltip.h:
6387         * include/journalling_object.h:
6388         * include/pixmap_button.h:
6389         * include/automatable_model_view.h:
6390         * include/mv_base.h:
6391         * include/volume_knob.h:
6392         * include/plugin_view.h:
6393         export according classes for making them accessibly by plugins
6395         * src/core/main.cpp:
6396         dont set opacity for splashscreen
6398         * src/core/config_mgr.cpp:
6399         customized paths for win32 (plugins in same directory as executable)
6401         * src/core/song.cpp:
6402         initialize m_length member to 0
6404         * src/core/plugin.cpp:
6405         under win32 filter for DLL-files
6407         * include/types.h:
6408         added macros for export-declaration
6410         * src/gui/plugin_browser.cpp:
6411         * src/gui/effect_select_dialog.cpp:
6412         * src/gui/main_window.cpp:
6413         * src/core/track.cpp:
6414         minor coding style issues
6416         * build_mingw32:
6417         * acinclude.m4:
6418         * Makefile.am:
6419         better support for win32-builds
6421         * buildtools/bin2res.cpp:
6422         open files in binary mode - fixes win32-build
6424         * configure.in:
6425         * Makefile.am:
6426         * include/audio_pulseaudio.h:
6427         * src/core/audio/audio_pulseaudio.cpp:
6428         * src/core/mixer.cpp:
6429         * src/gui/setup_dialog.cpp:
6430         added PulseAudio-support
6432 2008-05-30      Paul Giblock <drfaygo/at/gmail/dot/com>
6434         * src/gui/piano_roll.cpp:
6435         - Improve selection of volume-bars on a chord.  Select closest note
6436         instead of whichever one was created first. 
6437         - Display volume-change handles on top of the bars instead of possibly
6438         underneith other bars when dealing with chords
6439         
6440         * AUTHORS:
6441         Add Juan (Fabi) to authors, organize names more alphabetically
6443 2008-05-30      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
6445         * plugins/ladspa_effect/ladspa_effect.cpp:
6446         fixed wrong item in effect blacklist
6448         * include/mixer.h:
6449         * src/core/mixer.cpp:
6450         use less complex worker-thread-synchronization
6452 2008-05-29      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
6454         * src/core/mixer.cpp:
6455         use QAtomicInt instead of volatile bool + queue-global mutex for
6456         worker-thread jobqueues
6458 2008-05-28      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
6460         * plugins/organic/organic.cpp:
6461         * plugins/lb302/lb302.cpp:
6462         * plugins/bass_booster/bass_booster.cpp:
6463         * plugins/bass_booster/bassbooster_controls.cpp:
6464         * plugins/stereo_matrix/stereomatrix_controls.cpp:
6465         * plugins/vibed/nine_button_selector.h:
6466         * plugins/vibed/nine_button_selector.cpp:
6467         * plugins/vibed/vibed.cpp:
6468         * plugins/triple_oscillator/triple_oscillator.cpp:
6469         * plugins/audio_file_processor/audio_file_processor.cpp:
6470         * plugins/stereo_enhancer/stereoenhancer_controls.cpp:
6471         * plugins/sf2_player/sf2_player.cpp:
6472         * plugins/kicker/kicker.cpp:
6473         * plugins/midi_import/midi_import.cpp:
6474         * include/knob.h:
6475         * include/automatable_slider.h:
6476         * include/lcd_spinbox.h:
6477         * include/automatable_model.h:
6478         * include/combobox_model.h:
6479         * include/automation_pattern.h:
6480         * include/note_play_handle.h:
6481         * include/detuning_helper.h:
6482         * include/group_box.h:
6483         * include/automatable_button.h:
6484         * include/automatable_model_templates.h:
6485         * include/level_object.h:
6486         * include/automatable_model_view.h:
6487         * include/fader.h:
6488         * include/combobox.h:
6489         * src/gui/piano_roll.cpp:
6490         * src/gui/automatable_model_view.cpp:
6491         * src/gui/widgets/combobox.cpp:
6492         * src/gui/widgets/knob.cpp:
6493         * src/gui/widgets/envelope_and_lfo_view.cpp:
6494         * src/gui/widgets/automatable_slider.cpp:
6495         * src/gui/widgets/group_box.cpp:
6496         * src/gui/widgets/lcd_spinbox.cpp:
6497         * src/gui/widgets/volume_knob.cpp:
6498         * src/gui/widgets/fader.cpp:
6499         * src/gui/widgets/tempo_sync_knob.cpp:
6500         * src/gui/widgets/automatable_button.cpp:
6501         * src/gui/automation_editor.cpp:
6502         * src/tracks/instrument_track.cpp:
6503         * src/core/effect_chain.cpp:
6504         * src/core/note_play_handle.cpp:
6505         * src/core/song.cpp:
6506         * src/core/automatable_model.cpp:
6507         * src/core/audio/audio_alsa.cpp:
6508         * src/core/audio/audio_oss.cpp:
6509         * src/core/audio/audio_jack.cpp:
6510         * src/core/envelope_and_lfo_parameters.cpp:
6511         * src/core/combobox_model.cpp:
6512         * src/core/meter_model.cpp:
6513         * src/core/instrument_functions.cpp:
6514         * src/core/instrument_midi_io.cpp:
6515         * src/core/track.cpp:
6516         * src/core/ladspa_control.cpp:
6517         * src/core/note.cpp:
6518         * src/core/piano.cpp:
6519         * src/core/surround_area.cpp:
6520         * src/core/automation_pattern.cpp:
6521         * src/core/lfo_controller.cpp:
6522         * Makefile.am:
6523         reworked automatableModel (not template-based anymore), removed
6524         levelObject, splitted comboBox/comboBoxModel-source-files, began to
6525         unify context-menu-creation for controls
6527         diffstat:  63 files changed, 1145 insertions(+), 1170 deletions(-)
6529 2008-05-27      Paul Giblock <drfaygo/at/gmail/dot/com>
6531         * plugins/sf2_player/sf2_player.cpp:
6532         restore gain setting when loading a project and keep gain setting when
6533         changing sample rate
6535         * include/controller_view.h:
6536         * src/gui/widgets/controller_view.cpp:
6537         reverted toby's controllerView changes.
6539         * src/core/mmp.cpp:
6540         add compat-code for time-signature support
6542 2008-05-26      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
6544         * include/controller_view.h:
6545         * src/gui/widgets/controller_view.cpp:
6546         made LMMS compile + cleanups
6548 2008-05-26      Paul Giblock <drfaygo/at/gmail/dot/com>
6550         * include/automatable_model.h:
6551         * include/automatable_model_templates.h:
6552         * include/controller.h:
6553         * include/controller_connection.h:
6554         * src/gui/widgets/knob.cpp:
6555         * src/core/song.cpp:
6556         * src/core/controller.cpp:
6557         * src/core/controller_connection.cpp:
6558         * Makefile.am:
6559         - add controller connection class for storing controller links.  Used to
6560         specify linkage for loading/saving as well as a model for all the options
6561         in the dialog (mapping function, smoothing, etc..)
6562         - add dummyController for unfinalized or missing controllers.  Faster than
6563         adding a branch to value() or currentValue()
6564         - save controller links to project
6565         - incomplete, experimental!
6567         * include/controller_view.h:
6568         * src/gui/lfo_controller_dialog.cpp:
6569         * src/gui/widgets/controller_rack_view.cpp:
6570         * data/themes/default/controller_bg.png:
6571         Show name in controller view and make it renamable
6573         * data/themes/default/style.css:
6574         A hint of blue in menu highlight
6576         * src/core/song.cpp:
6577         Add data-changed event so lfo-rack can update
6579 2008-05-25      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
6581         * plugins/singerbot/singerbot.cpp:
6582         * include/meter_model.h:
6583         * include/song.h:
6584         * include/pattern.h:
6585         * include/piano_roll.h:
6586         * include/song_editor.h:
6587         * include/midi_time.h:
6588         * include/types.h:
6589         * include/timeline.h:
6590         * src/core/bb_track_container.cpp:
6591         * src/core/meter_model.cpp:
6592         * src/core/song.cpp:
6593         * src/core/timeline.cpp:
6594         * src/core/track.cpp:
6595         * src/gui/automation_editor.cpp:
6596         * src/gui/piano_roll.cpp:
6597         * src/gui/song_editor.cpp:
6598         * src/gui/track_container_view.cpp:
6599         * src/gui/widgets/tempo_sync_knob.cpp:
6600         * src/tracks/bb_track.cpp:
6601         * src/tracks/pattern.cpp:
6602         implemented support for time-signatures other than 4/4 - still
6603         incomplete and experimental!
6605         * include/controller_dialog.h:
6606         * src/core/lfo_controller.cpp:
6607         * src/gui/controller_dialog.cpp:
6608         * src/gui/widgets/controller_view.cpp:
6609         fixed order of member-initialization and miscellanous coding-style
6610         corrections
6612         * plugins/patman/select_file.png:
6613         * plugins/patman/logo.png:
6614         * plugins/patman/artwork.png:
6615         * plugins/ladspa_effect/logo.png:
6616         * plugins/organic/logo.png:
6617         * plugins/organic/randomise.png:
6618         * plugins/organic/randomise_pressed.png:
6619         * plugins/organic/artwork.png:
6620         * plugins/lb302/artwork.png:
6621         * plugins/bass_booster/logo.png:
6622         * plugins/stereo_matrix/logo.png:
6623         * plugins/bit_invader/logo.png:
6624         * plugins/bit_invader/wavegraph.png:
6625         * plugins/bit_invader/wavegraph3.png:
6626         * plugins/bit_invader/artwork.png:
6627         * plugins/bit_invader/smooth.png:
6628         * plugins/vst_effect/logo.png:
6629         * plugins/vibed/button_7_on.png:
6630         * plugins/vibed/button_9_on.png:
6631         * plugins/vibed/logo.png:
6632         * plugins/vibed/button_-1_off.png:
6633         * plugins/vibed/button_-2_off.png:
6634         * plugins/vibed/button_-1_on.png:
6635         * plugins/vibed/smooth_active.png:
6636         * plugins/vibed/wavegraph4.png:
6637         * plugins/vibed/button_f_off.png:
6638         * plugins/vibed/button_f_on.png:
6639         * plugins/vibed/button_up.png:
6640         * plugins/vibed/normalize_inactive.png:
6641         * plugins/vibed/button_1_off.png:
6642         * plugins/vibed/button_2_off.png:
6643         * plugins/vibed/button_3_off.png:
6644         * plugins/vibed/button_2_on.png:
6645         * plugins/vibed/button_4_off.png:
6646         * plugins/vibed/artwork.png:
6647         * plugins/vibed/button_5_off.png:
6648         * plugins/vibed/button_6_off.png:
6649         * plugins/vibed/button_4_on.png:
6650         * plugins/vibed/normalize_active.png:
6651         * plugins/vibed/button_7_off.png:
6652         * plugins/vibed/button_8_off.png:
6653         * plugins/vibed/button_6_on.png:
6654         * plugins/vibed/button_9_off.png:
6655         * plugins/vibed/button_8_on.png:
6656         * plugins/vibed/button_down.png:
6657         * plugins/vibed/button_-2_on.png:
6658         * plugins/vibed/button_1_on.png:
6659         * plugins/vibed/button_3_on.png:
6660         * plugins/vibed/button_5_on.png:
6661         * plugins/vibed/smooth_inactive.png:
6662         * plugins/triple_oscillator/logo.png:
6663         * plugins/triple_oscillator/am_active.png:
6664         * plugins/triple_oscillator/artwork.png:
6665         * plugins/triple_oscillator/sync_inactive.png:
6666         * plugins/triple_oscillator/sync_active.png:
6667         * plugins/live_tool/logo.png:
6668         * plugins/live_tool/artwork.png:
6669         * plugins/singerbot/logo.png:
6670         * plugins/singerbot/artwork.png:
6671         * plugins/audio_file_processor/select_file.png:
6672         * plugins/audio_file_processor/logo.png:
6673         * plugins/audio_file_processor/artwork.png:
6674         * plugins/stk/mallets/logo.png:
6675         * plugins/stk/mallets/artwork.png:
6676         * plugins/stk/voices/flute/logo.png:
6677         * plugins/stk/voices/flute/artwork.png:
6678         * plugins/stk/voices/resonate/logo.png:
6679         * plugins/stk/voices/resonate/artwork.png:
6680         * plugins/stk/voices/wurley/logo.png:
6681         * plugins/stk/voices/wurley/artwork.png:
6682         * plugins/stk/voices/percflute/logo.png:
6683         * plugins/stk/voices/percflute/artwork.png:
6684         * plugins/stk/voices/rhodey/logo.png:
6685         * plugins/stk/voices/rhodey/artwork.png:
6686         * plugins/stk/voices/tubebell/logo.png:
6687         * plugins/stk/voices/tubebell/artwork.png:
6688         * plugins/stk/voices/bowed/logo.png:
6689         * plugins/stk/voices/bowed/artwork.png:
6690         * plugins/stk/voices/clarinet/logo.png:
6691         * plugins/stk/voices/clarinet/artwork.png:
6692         * plugins/stk/voices/moog/logo.png:
6693         * plugins/stk/voices/moog/artwork.png:
6694         * plugins/stk/voices/metal/logo.png:
6695         * plugins/stk/voices/metal/artwork.png:
6696         * plugins/stk/voices/b3/logo.png:
6697         * plugins/stk/voices/b3/artwork.png:
6698         * plugins/stk/voices/blow_hole/logo.png:
6699         * plugins/stk/voices/blow_hole/artwork.png:
6700         * plugins/stk/voices/brass/logo.png:
6701         * plugins/stk/voices/brass/artwork.png:
6702         * plugins/stk/voices/fmvoices/logo.png:
6703         * plugins/stk/voices/fmvoices/artwork.png:
6704         * plugins/stk/voices/bandedwg/logo.png:
6705         * plugins/stk/voices/bandedwg/artwork.png:
6706         * plugins/stk/voices/blow_bottle/logo.png:
6707         * plugins/stk/voices/blow_bottle/artwork.png:
6708         * plugins/plucked_string_synth/logo.png:
6709         * plugins/plucked_string_synth/artwork.png:
6710         * plugins/stereo_enhancer/logo.png:
6711         * plugins/sf2_player/logo.png:
6712         * plugins/sf2_player/artwork.png:
6713         * plugins/vestige/select_file.png:
6714         * plugins/vestige/logo.png:
6715         * plugins/vestige/artwork.png:
6716         * plugins/ladspa_browser/logo.png:
6717         * plugins/kicker/logo.png:
6718         * plugins/kicker/artwork.png:
6719         * plugins/polyb302/artwork.png:
6720         * data/themes/blue_scene/led_off.png:
6721         * data/themes/blue_scene/back_to_zero.png:
6722         * data/themes/blue_scene/project_export.png:
6723         * data/themes/blue_scene/hourglass.png:
6724         * data/themes/blue_scene/triangle_wave_inactive.png:
6725         * data/themes/blue_scene/hq_mode.png:
6726         * data/themes/blue_scene/usr_wave_inactive.png:
6727         * data/themes/blue_scene/main_toolbar_bg.png:
6728         * data/themes/blue_scene/add_bb_track.png:
6729         * data/themes/blue_scene/tempo_sync.png:
6730         * data/themes/blue_scene/edit_paste.png:
6731         * data/themes/blue_scene/midi_file.png:
6732         * data/themes/blue_scene/analysis.png:
6733         * data/themes/blue_scene/zoom.png:
6734         * data/themes/blue_scene/playpos_marker.png:
6735         * data/themes/blue_scene/wizard_workingdir.png:
6736         * data/themes/blue_scene/step_btn_off_light.png:
6737         * data/themes/blue_scene/square_wave_inactive.png:
6738         * data/themes/blue_scene/auto_limit.png:
6739         * data/themes/blue_scene/exp_wave_active.png:
6740         * data/themes/blue_scene/exit.png:
6741         * data/themes/blue_scene/step_btn_on.png:
6742         * data/themes/blue_scene/toolbar_bg.png:
6743         * data/themes/blue_scene/keep_stop_position.png:
6744         * data/themes/blue_scene/whatsthis.png:
6745         * data/themes/blue_scene/output_graph.png:
6746         * data/themes/blue_scene/wizard_files.png:
6747         * data/themes/blue_scene/note_none.png:
6748         * data/themes/blue_scene/black_key.png:
6749         * data/themes/blue_scene/text_center.png:
6750         * data/themes/blue_scene/stop.png:
6751         * data/themes/blue_scene/error.png:
6752         * data/themes/blue_scene/sin_wave_inactive.png:
6753         * data/themes/blue_scene/loop_points_on.png:
6754         * data/themes/blue_scene/play.png:
6755         * data/themes/blue_scene/folder_opened.png:
6756         * data/themes/blue_scene/mute_on.png:
6757         * data/themes/blue_scene/ports.png:
6758         * data/themes/blue_scene/project_saveas.png:
6759         * data/themes/blue_scene/loop_point_disabled.png:
6760         * data/themes/blue_scene/folder.png:
6761         * data/themes/blue_scene/arp_random_on.png:
6762         * data/themes/blue_scene/arp_sync.png:
6763         * data/themes/blue_scene/edit_copy.png:
6764         * data/themes/blue_scene/white_noise_wave_inactive.png:
6765         * data/themes/blue_scene/track_op_grip.png:
6766         * data/themes/blue_scene/background_artwork.png:
6767         * data/themes/blue_scene/help.png:
6768         * data/themes/blue_scene/unknown_file.png:
6769         * data/themes/blue_scene/edit_redo.png:
6770         * data/themes/blue_scene/exp_wave_inactive.png:
6771         * data/themes/blue_scene/arp_down_on.png:
6772         * data/themes/blue_scene/project_file.png:
6773         * data/themes/blue_scene/sample_track.png:
6774         * data/themes/blue_scene/note_quarter.png:
6775         * data/themes/blue_scene/surround_area.png:
6776         * data/themes/blue_scene/black_key_pressed.png:
6777         * data/themes/blue_scene/project_notes.png:
6778         * data/themes/blue_scene/project_new.png:
6779         * data/themes/blue_scene/master_pitch.png:
6780         * data/themes/blue_scene/edit_select.png:
6781         * data/themes/blue_scene/track_op_menu.png:
6782         * data/themes/blue_scene/colorize.png:
6783         * data/themes/blue_scene/white_key.png:
6784         * data/themes/blue_scene/splash.png:
6785         * data/themes/blue_scene/note_double_whole.png:
6786         * data/themes/blue_scene/envelope_graph.png:
6787         * data/themes/blue_scene/saw_wave_inactive.png:
6788         * data/themes/blue_scene/note_sixteenth.png:
6789         * data/themes/blue_scene/lfo_graph.png:
6790         * data/themes/blue_scene/frozen.png:
6791         * data/themes/blue_scene/effect_board.png:
6792         * data/themes/blue_scene/arp_down_off.png:
6793         * data/themes/blue_scene/mute_off.png:
6794         * data/themes/blue_scene/reload.png:
6795         * data/themes/blue_scene/text_italic.png:
6796         * data/themes/blue_scene/arp_random_off.png:
6797         * data/themes/blue_scene/pause.png:
6798         * data/themes/blue_scene/freeze.png:
6799         * data/themes/blue_scene/triangle_wave_active.png:
6800         * data/themes/blue_scene/combobox_arrow.png:
6801         * data/themes/blue_scene/root.png:
6802         * data/themes/blue_scene/apply.png:
6803         * data/themes/blue_scene/usr_wave_active.png:
6804         * data/themes/blue_scene/icon.png:
6805         * data/themes/blue_scene/clock.png:
6806         * data/themes/blue_scene/setup_directories.png:
6807         * data/themes/blue_scene/text_left.png:
6808         * data/themes/blue_scene/text_block.png:
6809         * data/themes/blue_scene/plugins/tripleoscillator_fm_inactive.png:
6810         * data/themes/blue_scene/plugins/bitinvader_artwork.png:
6811         * data/themes/blue_scene/plugins/tripleoscillator_mix_active.png:
6812         * data/themes/blue_scene/plugins/tripleoscillator_am_active.png:
6813         * data/themes/blue_scene/plugins/tripleoscillator_artwork.png:
6814         * data/themes/blue_scene/plugins/bitinvader_logo.png:
6815         * data/themes/blue_scene/plugins/tripleoscillator_fm_active.png:
6816         * data/themes/blue_scene/plugins/tripleoscillator_sync_inactive.png:
6817         * data/themes/blue_scene/plugins/audiofileprocessor_artwork.png:
6818         * data/themes/blue_scene/plugins/bitinvader_wavegraph3.png:
6819         * data/themes/blue_scene/plugins/vestige_artwork.png:
6820         * data/themes/blue_scene/plugins/bitinvader_smooth.png:
6821         * data/themes/blue_scene/plugins/audiofileprocessor_logo.png:
6822         * data/themes/blue_scene/plugins/tripleoscillator_sync_active.png:
6823         * data/themes/blue_scene/plugins/pluckedstringsynth_logo.png:
6824         * data/themes/blue_scene/plugins/audiofileprocessor_loop_off.png:
6825         * data/themes/blue_scene/plugins/audiofileprocessor_reverse_off.png:
6826         * data/themes/blue_scene/plugins/audiofileprocessor_loop_on.png:
6827         * data/themes/blue_scene/plugins/vestige_logo.png:
6828         * data/themes/blue_scene/plugins/tripleoscillator_am_inactive.png:
6829         * data/themes/blue_scene/plugins/tripleoscillator_mix_inactive.png:
6830         * data/themes/blue_scene/plugins/bitinvader_wavegraph.png:
6831         * data/themes/blue_scene/cpuload_bg.png:
6832         * data/themes/blue_scene/note_half.png:
6833         * data/themes/blue_scene/wizard.png:
6834         * data/themes/blue_scene/preset_file.png:
6835         * data/themes/blue_scene/hint.png:
6836         * data/themes/blue_scene/note.png:
6837         * data/themes/blue_scene/timeline.png:
6838         * data/themes/blue_scene/bb_track.png:
6839         * data/themes/blue_scene/white_key_pressed.png:
6840         * data/themes/blue_scene/arp_up_off.png:
6841         * data/themes/blue_scene/autoscroll_off.png:
6842         * data/themes/blue_scene/setup_audio.png:
6843         * data/themes/blue_scene/text_right.png:
6844         * data/themes/blue_scene/project_open.png:
6845         * data/themes/blue_scene/arp_up_and_down_off.png:
6846         * data/themes/blue_scene/note_eighth.png:
6847         * data/themes/blue_scene/note_whole.png:
6848         * data/themes/blue_scene/note_thirtysecond.png:
6849         * data/themes/blue_scene/edit_erase.png:
6850         * data/themes/blue_scene/sin_wave_active.png:
6851         * data/themes/blue_scene/saw_wave_active.png:
6852         * data/themes/blue_scene/rename.png:
6853         * data/themes/blue_scene/drum.png:
6854         * data/themes/blue_scene/edit_undo.png:
6855         * data/themes/blue_scene/edit_move.png:
6856         * data/themes/blue_scene/wizard_intro.png:
6857         * data/themes/blue_scene/add_sample_track.png:
6858         * data/themes/blue_scene/combobox_bg.png:
6859         * data/themes/blue_scene/setup_performance.png:
6860         * data/themes/blue_scene/loop_point.png:
6861         * data/themes/blue_scene/autoscroll_on.png:
6862         * data/themes/blue_scene/unfreeze.png:
6863         * data/themes/blue_scene/cancel.png:
6864         * data/themes/blue_scene/sound_file.png:
6865         * data/themes/blue_scene/arp_sort.png:
6866         * data/themes/blue_scene/white_noise_wave_active.png:
6867         * data/themes/blue_scene/arp_up_and_down_on.png:
6868         * data/themes/blue_scene/folder_locked.png:
6869         * data/themes/blue_scene/setup_general.png:
6870         * data/themes/blue_scene/loop_points_off.png:
6871         * data/themes/blue_scene/setup_midi.png:
6872         * data/themes/blue_scene/uhoh.png:
6873         * data/themes/blue_scene/step_btn_off.png:
6874         * data/themes/blue_scene/songeditor.png:
6875         * data/themes/blue_scene/square_wave_active.png:
6876         * data/themes/blue_scene/project_open_down.png:
6877         * data/themes/blue_scene/moog_saw_wave_inactive.png:
6878         * data/themes/blue_scene/back_to_start.png:
6879         * data/themes/blue_scene/text_under.png:
6880         * data/themes/blue_scene/arp_up_on.png:
6881         * data/themes/blue_scene/arp_free.png:
6882         * data/themes/blue_scene/moog_saw_wave_active.png:
6883         * data/themes/blue_scene/home.png:
6884         * data/themes/blue_scene/knob01.png:
6885         * data/themes/default/lcd_19green.png:
6886         * data/themes/default/knob03.png:
6887         * data/themes/default/back_to_zero.png:
6888         * data/themes/default/edit_draw.png:
6889         * data/themes/default/triangle_wave_inactive.png:
6890         * data/themes/default/filter_hp.png:
6891         * data/themes/default/zoom_y.png:
6892         * data/themes/default/usr_wave_inactive.png:
6893         * data/themes/default/muted.png:
6894         * data/themes/default/add_bb_track.png:
6895         * data/themes/default/fader_background.png:
6896         * data/themes/default/tempo_sync.png:
6897         * data/themes/default/plugins.png:
6898         * data/themes/default/midi_file.png:
6899         * data/themes/default/analysis.png:
6900         * data/themes/default/zoom.png:
6901         * data/themes/default/edit_arrow.png:
6902         * data/themes/default/wizard_workingdir.png:
6903         * data/themes/default/lcd_19red.png:
6904         * data/themes/default/toolbar_bg.png:
6905         * data/themes/default/whatsthis.png:
6906         * data/themes/default/filter_notch.png:
6907         * data/themes/default/output_graph.png:
6908         * data/themes/default/wizard_files.png:
6909         * data/themes/default/controller.png:
6910         * data/themes/default/note_none.png:
6911         * data/themes/default/black_key.png:
6912         * data/themes/default/stop.png:
6913         * data/themes/default/fader_knob.png:
6914         * data/themes/default/mute_off_disabled.png:
6915         * data/themes/default/mute_on_disabled.png:
6916         * data/themes/default/sin_wave_inactive.png:
6917         * data/themes/default/play.png:
6918         * data/themes/default/folder_opened.png:
6919         * data/themes/default/filter_bp.png:
6920         * data/themes/default/ports.png:
6921         * data/themes/default/loop_point_disabled.png:
6922         * data/themes/default/folder.png:
6923         * data/themes/default/arp_random_on.png:
6924         * data/themes/default/arp_sync.png:
6925         * data/themes/default/automation.png:
6926         * data/themes/default/white_noise_wave_inactive.png:
6927         * data/themes/default/track_op_grip.png:
6928         * data/themes/default/pr_black_key.png:
6929         * data/themes/default/help.png:
6930         * data/themes/default/background_artwork.png:
6931         * data/themes/default/factory_files.png:
6932         * data/themes/default/unknown_file.png:
6933         * data/themes/default/exp_wave_inactive.png:
6934         * data/themes/default/project_file.png:
6935         * data/themes/default/arp_down_on.png:
6936         * data/themes/default/piano.png:
6937         * data/themes/default/midi_in.png:
6938         * data/themes/default/black_key_pressed.png:
6939         * data/themes/default/surround_area.png:
6940         * data/themes/default/track_op_menu_disabled.png:
6941         * data/themes/default/project_new.png:
6942         * data/themes/default/master_pitch.png:
6943         * data/themes/default/led_green.png:
6944         * data/themes/default/edit_select.png:
6945         * data/themes/default/colorize.png:
6946         * data/themes/default/white_key.png:
6947         * data/themes/default/knob02.png:
6948         * data/themes/default/note_double_whole.png:
6949         * data/themes/default/envelope_graph.png:
6950         * data/themes/default/saw_wave_inactive.png:
6951         * data/themes/default/lfo_graph.png:
6952         * data/themes/default/groupbox_led_bg.png:
6953         * data/themes/default/frozen.png:
6954         * data/themes/default/arp_down_off.png:
6955         * data/themes/default/effect_board.png:
6956         * data/themes/default/reload.png:
6957         * data/themes/default/zoom_x.png:
6958         * data/themes/default/pause.png:
6959         * data/themes/default/freeze.png:
6960         * data/themes/default/filter_lp.png:
6961         * data/themes/default/combobox_arrow.png:
6962         * data/themes/default/triangle_wave_active.png:
6963         * data/themes/default/root.png:
6964         * data/themes/default/apply.png:
6965         * data/themes/default/usr_wave_active.png:
6966         * data/themes/default/icon.png:
6967         * data/themes/default/clock.png:
6968         * data/themes/default/add_controller.png:
6969         * data/themes/default/setup_directories.png:
6970         * data/themes/default/cpuload_bg.png:
6971         * data/themes/default/quantize.png:
6972         * data/themes/default/wizard.png:
6973         * data/themes/default/preset_file.png:
6974         * data/themes/default/hint.png:
6975         * data/themes/default/filter_ap.png:
6976         * data/themes/default/timeline.png:
6977         * data/themes/default/bb_track.png:
6978         * data/themes/default/effect_plugin.png:
6979         * data/themes/default/white_key_pressed.png:
6980         * data/themes/default/arp_up_off.png:
6981         * data/themes/default/autoscroll_off.png:
6982         * data/themes/default/setup_audio.png:
6983         * data/themes/default/arp_up_and_down_off.png:
6984         * data/themes/default/combobox_arrow_selected.png:
6985         * data/themes/default/cpuload_leds.png:
6986         * data/themes/default/note_whole.png:
6987         * data/themes/default/edit_erase.png:
6988         * data/themes/default/wizard_intro.png:
6989         * data/themes/default/add_sample_track.png:
6990         * data/themes/default/combobox_bg.png:
6991         * data/themes/default/setup_performance.png:
6992         * data/themes/default/sound_file.png:
6993         * data/themes/default/arp_sort.png:
6994         * data/themes/default/white_noise_wave_active.png:
6995         * data/themes/default/arp_up_and_down_on.png:
6996         * data/themes/default/controller_bg.png:
6997         * data/themes/default/folder_locked.png:
6998         * data/themes/default/setup_general.png:
6999         * data/themes/default/loop_points_off.png:
7000         * data/themes/default/filter_2lp.png:
7001         * data/themes/default/setup_midi.png:
7002         * data/themes/default/uhoh.png:
7003         * data/themes/default/midi_out.png:
7004         * data/themes/default/songeditor.png:
7005         * data/themes/default/moog_saw_wave_inactive.png:
7006         * data/themes/default/arp_free.png:
7007         * data/themes/default/home.png:
7008         * data/themes/default/fader_leds.png:
7009         * data/themes/default/knob01.png:
7010         * data/themes/llama/background_artwork.png:
7011         shrinked file-sizes via optipng
7013         * include/main_window.h:
7014         * src/gui/main_window.cpp:
7015         * src/core/main.cpp:
7016         * data/themes/default/splash.png:
7017         new transparent splash-screen without obsolete text-messages
7019 2008-05-25      Paul Giblock <drfaygo/at/gmail/dot/com>
7021         * include/embed.h:
7022         Fix missing distructor warning
7024         * include/controller.h:
7025         * include/song.h:
7026         * include/lfo_controller.h:
7027         * src/core/controller.cpp:
7028         * src/core/lfo_controller.cpp:
7029         Save and load controllers to project files.
7031         * src/core/song.cpp:
7032         - Save and load controllers to project files.
7033         - emit dataChanged() on clearProject() do we need this anywhere else?
7035 2008-05-24      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
7037         * include/song.h:
7038         * include/song_editor.h:
7039         * src/core/song.cpp:
7040         * src/gui/song_editor.cpp:
7041         added meterModel and meterDialog (which actually is just a widget) as
7042         preparation for time-signature-support - it doesn't actually work yet!
7044         * data/themes/default/style.css:
7045         improved appearence of menu in general
7047         * Makefile.am:
7048         * include/tempo_sync_knob.h:
7049         * include/meter_model.h:
7050         * include/meter_dialog.h:
7051         * src/core/meter_model.cpp:
7052         * src/gui/widgets/meter_dialog.cpp:
7053         splitted source-files for meterModel and meterDialog and added
7054         "simple"-mode for meterDialog
7056 2008-05-22      Paul Giblock <drfaygo/at/gmail/dot/com>
7058         * include/lfo_controller.h:
7059         * src/gui/lfo_controller_dialog.cpp:
7060         * src/core/lfo_controller.cpp:
7061         Add more wave shapes to LFO controller
7063         * src/gui/widgets/controller_view.cpp:
7064         Set sub-window's icon to the icon of the controllerDialog
7066         * src/gui/widgets/controller_rack_view.cpp:
7067         Add icon to window
7069 2008-05-21      Paul Giblock <drfaygo/at/gmail/dot/com>
7071         * plugins/sf2_player/Makefile.am:
7072         * plugins/Makefile.am:
7073         * configure.in:
7074         Add fluidsynth detection to configure
7076 2008-05-21      Paul Giblock <drfaygo/at/gmail/dot/com>
7078         * plugins/vestige/select_file.png:
7079         * plugins/vestige/logo.png:
7080         * plugins/vestige/vestige.cpp:
7081         * plugins/vestige/artwork.png:
7082         Integrate new vestige artwork
7084         * src/core/track.cpp:
7085         Improve background drawing/scaling
7087         * plugins/audio_file_processor/audio_file_processor.cpp:
7088         * plugins/audio_file_processor/select_file.png:
7089         * plugins/audio_file_processor/logo.png:
7090         * plugins/audio_file_processor/loop_off.png:
7091         * plugins/audio_file_processor/loop_on.png:
7092         * plugins/audio_file_processor/reverse_off.png:
7093         * plugins/audio_file_processor/reverse_on.png:
7094         * plugins/audio_file_processor/artwork.png:
7095         Integrate new audio file processor artwork
7097         * src/gui/widgets/volume_knob.cpp:
7098         Fix placement of tooltop in styled knobs
7100         * src/gui/widgets/knob.cpp:
7101         Minor graphical enhancement for styled knobs
7103         * src/gui/piano_roll.cpp:
7104         * include/piano_roll.h:
7105         * data/themes/default/record_accompany.png:
7106         - Fix annoying bug where changing patterns would scroll to bar 2 instead
7107         of bar 1
7108         - Add record-with-accompaniment feature because it was easier to just add
7109         a toolbutton then to strip out the code.  At least now there is some
7110         starting point for this feature should we ever decide to release it.
7112         * plugins/organic/organic.cpp:
7113         * plugins/organic/organic.h:
7114         Complete organic gui
7116         * data/themes/default/style.css:
7117         AFP and organic knob styles
7119         * plugins/sf2_player/artwork.png:
7120         New sf2-player artwork
7122 2008-05-21      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
7124         * src/core/main.cpp:
7125         only create core-application for --help and -h
7127         * plugins/ladspa_effect/ladspa_effect.cpp:
7128         * plugins/patman/patman.cpp:
7129         * plugins/lb302/lb302.cpp:
7130         * plugins/organic/organic.cpp:
7131         * plugins/stereo_matrix/stereo_matrix.cpp:
7132         * plugins/bass_booster/bass_booster.cpp:
7133         * plugins/bit_invader/bit_invader.cpp:
7134         * plugins/vst_effect/vst_effect.cpp:
7135         * plugins/vibed/vibed.cpp:
7136         * plugins/triple_oscillator/triple_oscillator.cpp:
7137         * plugins/singerbot/singerbot.cpp:
7138         * plugins/live_tool/live_tool.cpp:
7139         * plugins/audio_file_processor/audio_file_processor.cpp:
7140         * plugins/stk/mallets/mallets.cpp:
7141         * plugins/stereo_enhancer/stereo_enhancer.cpp:
7142         * plugins/sf2_player/sf2_player.cpp:
7143         * plugins/vestige/vestige.cpp:
7144         * plugins/vst_base/vst_base.cpp:
7145         * plugins/ladspa_browser/ladspa_browser.cpp:
7146         * plugins/kicker/kicker.cpp:
7147         * plugins/Makefile.am:
7148         * plugins/flp_import/flp_import.cpp:
7149         * plugins/midi_import/midi_import.cpp:
7150         * include/track.h:
7151         * src/gui/piano_roll.cpp:
7152         * src/gui/plugin_browser.cpp:
7153         * src/gui/main_window.cpp:
7154         * src/core/plugin.cpp:
7155         * src/core/bb_track_container.cpp:
7156         * src/core/tool.cpp:
7157         * src/core/instrument_sound_shaping.cpp:
7158         * src/core/instrument_functions.cpp:
7159         * src/core/track.cpp:
7160         * src/core/instrument.cpp:
7161         use new pluginPixmapLoader
7163         * include/lmms_style.h:
7164         * src/gui/lmms_style.cpp:
7165         load stylesheet here
7167         * include/combobox.h:
7168         * src/gui/widgets/combobox.cpp:
7169         use pixmapLoader-pointers rather than QPixmap-pointers in comboBoxModel
7171         * include/plugin.h:
7172         in plugin-descriptor, hold a pointer to pixmapLoader instead of
7173         QPixmap itself
7175         * include/embed.h:
7176         * src/gui/embed.cpp:
7177         introduced pixmapLoader and pluginPixmapLoader-classes for abstracting
7178         QPixmap-instantiation - models can hold pixmapLoaders without actually
7179         instantiating a QPixmap-object and views can access the pixmap
7181         * src/gui/main_window.cpp:
7182         removed settings-menu and moved setup-dialog to edit-menu
7184         * Makefile.am:
7185         * include/config_mgr.h:
7186         * src/core/config_mgr.cpp:
7187         removed all the obsolete first-startup-wizard-code
7189 2008-05-19      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
7191         * configure.in:
7192         * plugins/vst_base/lvsl_client.cpp:
7193         call waitpid(...) when closing plugin - fixes zombie processes
7195         * plugins/vst_effect/vst_effect_controls.h:
7196         * plugins/vst_effect/vst_subplugin_features.cpp:
7197         * plugins/vst_effect/vst_subplugin_features.h:
7198         * plugins/vst_effect/vst_effect_control_dialog.cpp:
7199         * plugins/vst_effect/Makefile.am:
7200         * plugins/vst_effect/vst_effect.cpp:
7201         * plugins/vst_effect/vst_effect_controls.cpp:
7202         * plugins/vst_effect/vst_effect_control_dialog.h:
7203         * plugins/vst_effect/vst_effect.h:
7204         * plugins/vst_base/lvsl_client.h:
7205         * plugins/vst_base/lvsl_client.cpp:
7206         finally made VST-effect plugin work
7208         * src/core/track_container.cpp:
7209         * src/core/main.cpp:
7210         when rendering from command-line, only create a QCoreApplication - needs
7211         further work
7213         * include/config_mgr.h:
7214         * src/gui/widgets/effect_rack_view.cpp:
7215         minor coding-style stuff
7217         * plugins/singerbot/singerbot.h:
7218         * plugins/singerbot/singerbot.cpp:
7219         integrated patches from William Steidtmann <billstei/at/hbci/dot/com>
7220         which makes Singerbot at least compile - doesn't seem to work yet though
7222 2008-05-19      Paul Giblock <drfaygo/at/gmail/dot/com>
7224         * triple_oscillator.cpp:
7225         * am_active.png:
7226         * am_inactive.png:
7227         * artwork.png:
7228         * btn_mask.png:
7229         * exp_shape_active.png:
7230         * exp_shape_inactive.png:
7231         * fm_active.png:
7232         * fm_inactive.png:
7233         * logo.png:
7234         * mix_active.png:
7235         * mix_inactive.png:
7236         * moog_saw_shape_active.png:
7237         * moog_saw_shape_inactive.png:
7238         * pm_active.png:
7239         * pm_inactive.png:
7240         * saw_shape_active.png:
7241         * saw_shape_inactive.png:
7242         * sin_shape_active.png:
7243         * sin_shape_inactive.png:
7244         * square_shape_active.png:
7245         * square_shape_inactive.png:
7246         * sync_active.png:
7247         * sync_inactive.png:
7248         * triangle_shape_active.png:
7249         * triangle_shape_inactive.png:
7250         * usr_shape_active.png:
7251         * usr_shape_inactive.png:
7252         * white_noise_shape_active.png:
7253         * white_noise_shape_inactive.png:
7254         Updated Triple-oscillator artwork
7256         * src/core/track.cpp:
7257         Darkened the tracks so it doesn't hurt to look at
7259         * src/gui/lfo_controller_dialog.cpp:
7260         * src/gui/widgets/controller_view.cpp:
7261         Remove stray line
7263         * plugins/kicker/kicker.cpp:
7264         * plugins/kicker/kicker.h:
7265         * data/themes/default/style.css:
7266         Including stylesheet changes I forgot to commit, fixes knobs in 3xOsc
7268 2008-05-18      Paul Giblock <drfaygo/at/gmail/dot/com>
7270         * src/gui/widgets/knob.cpp:
7271         * include/knob.h:
7272         First version of stylable knobs. Perhaps can be overlayed with current
7273         knobs to add line coloring/width in other places around the GUI.
7275         * src/core/track.cpp:
7276         - Re-enabled alternating background, better appearance AND performance
7277         - Fixed more of the flickering by disabling updates when moving
7278         - Toby will probably want to change background colors, I just used
7279         something simple since it will end up changing probably.  It do like the
7280         gradient dark on top, looks like a "channel" or "groove".
7282         * plugins/patman/artwork.png:
7283         Fixed artwork again
7285         * plugins/singerbot/artwork.png:
7286         * plugins/singerbot/logo.png:
7287         Updated SingerBot artwork
7289 2008-05-18      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
7291         * plugins/stk/mallets/mallets.cpp:
7292         added missing initialization of member-variables which made Mallets
7293         play nothing until GUI has been opened
7295         * include/bb_track.h:
7296         * src/gui/widgets/combobox.cpp:
7297         * src/gui/widgets/name_label.cpp:
7298         * src/tracks/bb_track.cpp:
7299         * src/tracks/pattern.cpp:
7300         * data/themes/default/track_op_grip.png:
7301         improved overall appearence
7303         * src/core/track.cpp:
7304         - disabled flipped painting of track-view-BG
7305         - optimized changePosition()-method for much faster drawing
7307         * src/gui/fx_mixer_view.cpp:
7308         do not destroy FX-mixer-view when closing
7310         * plugins/ladspa_effect/ladspa_effect.cpp:
7311         added "Notch Filter" to blacklist
7313         * plugins/ladspa_effect/ladspa_effect.h:
7314         * plugins/ladspa_effect/ladspa_effect.cpp:
7315         * plugins/bass_booster/bass_booster.cpp:
7316         * plugins/stereo_matrix/stereo_matrix.cpp:
7317         * plugins/stereo_enhancer/stereo_enhancer.cpp:
7318         - replaced old code with effect::checkGate() call
7319         - various cleanups and minor optimizations
7321         * src/core/effect_chain.cpp:
7322         added debugging-code for determining buggy effect-plugins at higher
7323         samplerates
7325         * include/plugin.h:
7326         introduced changable publicName-property
7328         * include/effect.h:
7329         * src/core/effect.cpp:
7330         added checkGate()-function for reducing redundant code in effect-plugins
7332 2008-05-17      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
7334         * plugins/ladspa_effect/ladspa_effect.cpp:
7335         * plugins/ladspa_effect/ladspa_effect.h:
7336         improved handling of effects which only work at limited samplerates
7338         * include/audio_port.h:
7339         * src/core/audio/audio_port.cpp:
7340         small optimizations
7342         * src/core/mixer.cpp:
7343         removed obsolete idle-property of worker-threads
7345         * src/core/fx_mixer.cpp:
7346         protect individual buffers of FX-channels from being processed by more
7347         than one thread
7349 2008-05-17      Paul Giblock <drfaygo/at/gmail/dot/com>
7351         * plugins/stereo_matrix/stereomatrix_controls.cpp:
7352         Allow knobs to invert phase as well
7354         * plugins/patman/patman.cpp:
7355         * plugins/patman/patman.h:
7356         * plugins/patman/artwork.png:
7357         * plugins/patman/loop_off.png:
7358         * plugins/patman/loop_on.png:
7359         * plugins/patman/tune_off.png:
7360         * plugins/patman/tune_on.png:
7361         * plugins/patman/select_file_on.png:
7362         * plugins/patman/select_file.png:
7363         - Integrate new patman artwork.
7364         - Make file selection button highlight when clicked.
7366         * include/pixmap_button.h:
7367         * src/gui/widgets/pixmap_button.cpp:
7368         Make button pixmap "activate" on click
7370         * src/gui/widgets/automatable_button.cpp:
7371         Noted bug in automatable button
7373         * src/gui/piano_roll.cpp:
7374         Fix bug when trying to select note on first beat. However, still breaks
7375         if the cursor moves quickly from right to left (i.e: if it skips the
7376         pixel position)
7378 2008-05-14      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
7380         * include/project_renderer.h:
7381         * src/core/main.cpp:
7382         * src/core/project_renderer.cpp:
7383         added a lot of options for rendering via command-line and finally made
7384         it working with new projectRenderer-class
7386         * include/mixer.h:
7387         removed 16x oversampling
7389 2008-05-13      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
7391         * include/track.h:
7392         * include/pixmap_button.h:
7393         * src/core/track.cpp:
7394         * src/gui/widgets/pixmap_button.cpp:
7395         toggle solo via Ctrl+left mouse button
7397         * src/gui/fx_mixer_view.cpp:
7398         set window-icon
7400         * src/gui/widgets/tab_widget.cpp:
7401         use colors from active palette
7403         * src/gui/widgets/project_notes.cpp:
7404         hide per default
7406         * src/gui/main_window.cpp:
7407         * src/core/timeline.cpp:
7408         * data/themes/default/project_export.png:
7409         * data/themes/default/hourglass.png:
7410         * data/themes/default/hq_mode.png:
7411         * data/themes/default/edit_paste.png:
7412         * data/themes/default/text_bold.png:
7413         * data/themes/default/project_save.png:
7414         * data/themes/default/playpos_marker.png:
7415         * data/themes/default/exit.png:
7416         * data/themes/default/text_center.png:
7417         * data/themes/default/error.png:
7418         * data/themes/default/edit_cut.png:
7419         * data/themes/default/mute_on.png:
7420         * data/themes/default/project_saveas.png:
7421         * data/themes/default/loop_point_disabled.png:
7422         * data/themes/default/arp_random_on.png:
7423         * data/themes/default/edit_copy.png:
7424         * data/themes/default/edit_redo.png:
7425         * data/themes/default/arp_down_on.png:
7426         * data/themes/default/track_op_menu_disabled.png:
7427         * data/themes/default/project_notes.png:
7428         * data/themes/default/track_op_menu.png:
7429         * data/themes/default/groupbox_led_bg.png:
7430         * data/themes/default/arp_down_off.png:
7431         * data/themes/default/mute_off.png:
7432         * data/themes/default/text_italic.png:
7433         * data/themes/default/arp_random_off.png:
7434         * data/themes/default/root.png:
7435         * data/themes/default/apply.png:
7436         * data/themes/default/text_block.png:
7437         * data/themes/default/text_left.png:
7438         * data/themes/default/arp_up_off.png:
7439         * data/themes/default/text_right.png:
7440         * data/themes/default/project_open.png:
7441         * data/themes/default/arp_up_and_down_off.png:
7442         * data/themes/default/edit_undo.png:
7443         * data/themes/default/loop_point.png:
7444         * data/themes/default/cancel.png:
7445         * data/themes/default/add.png:
7446         * data/themes/default/arp_up_and_down_on.png:
7447         * data/themes/default/project_open_down.png:
7448         * data/themes/default/text_under.png:
7449         * data/themes/default/fx_mixer.png:
7450         * data/themes/default/arp_up_on.png:
7451         * data/themes/default/home.png:
7452         integrated improved artwork (more to come)
7454         * src/core/track.cpp:
7455         do not crash when removing TCOs
7457         * plugins/ladspa_effect/ladspa_effect.cpp:
7458         use new resampling-methods in case we're processing plugins which are
7459         known not to work at higher samplerates
7461         * include/main_window.h:
7462         made resetWindowTitle() a slot
7464         * src/gui/widgets/effect_view.cpp:
7465         coding-style stuff
7467         * include/effect.h:
7468         * src/core/effect.cpp:
7469         added simple way for plugins to process at lower sample-rates
7471         * src/core/ladspa_manager.cpp:
7472         added hard-coded path in case LMMS is installed into /usr/local
7474         * include/export_project_dialog.h:
7475         * src/gui/export_project_dialog.cpp:
7476         update main-window title-bar while rendering
7478         * src/gui/widgets/visualization_widget.cpp:
7479         do not update while song-export
7481         * src/gui/dialogs/export_project.ui:
7482         improved usability
7484         * include/audio_device.h:
7485         * src/core/audio/audio_device.cpp:
7486         * src/core/audio/audio_alsa.cpp:
7487         * src/core/audio/audio_sdl.cpp:
7488         * src/core/audio/audio_oss.cpp:
7489         * src/core/audio/audio_jack.cpp:
7490         after changed quality-settings also update interpolation for
7491         samplerate-conversion
7493 2008-05-12      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
7495         * plugins/bass_booster/bassbooster_controls.cpp:
7496         * plugins/sf2_player/sf2_player.cpp:
7497         * src/core/audio/audio_device.cpp:
7498         cleanups and the like
7500         * include/mixer.h:
7501         in draft-mode use zero-order-hold interpolation instead of linear
7502         interpolation - fixes some issues with resampling
7504         * plugins/bass_booster/bassbooster_controls.cpp:
7505         made bass-booster HQ-mode-capable
7507         * include/effect_lib.h:
7508         changed float's in bassbooster to SAMPLE
7510 2008-05-11      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
7512         * plugins/sf2_player/sf2_player.cpp:
7513         retrieve resampling-interpolation from current mixer quality settings
7515         * include/mixer.h:
7516         made m_writing-variable in fifoWriter volatile
7518         * include/project_renderer.h:
7519         * src/core/project_renderer.cpp:
7520         change audio-device to file-device from within GUI-thread in order to
7521         make slots being connected to sampleRateChanged()-signal being called
7522         immediately
7524         * src/tracks/instrument_track.cpp:
7525         cleanups
7527         * src/core/mixer.cpp:
7528         initialize quality with draft-preset
7530         * include/setup_dialog.h:
7531         * include/audio_device.h:
7532         * src/gui/main_window.cpp:
7533         * src/gui/setup_dialog.cpp:
7534         * src/core/audio/audio_device.cpp:
7535         * src/core/audio/audio_alsa.cpp:
7536         * src/core/audio/audio_sdl.cpp:
7537         * src/core/audio/audio_oss.cpp:
7538         * src/core/audio/audio_jack.cpp:
7539         made HQ-mode for audio-devices optional
7541         * include/controller.h:
7542         * include/song.h:
7543         * include/audio_file_device.h:
7544         * include/song_editor.h:
7545         * include/export.h:
7546         * include/export_project_dialog.h:
7547         * src/gui/dialogs/export_project.ui:
7548         * src/gui/song_editor.cpp:
7549         * src/gui/export_project_dialog.cpp:
7550         * src/core/song.cpp:
7551         * src/core/main.cpp:
7552         * Makefile.am:
7553         introduced new project-export dialog
7555         * include/project_renderer.h:
7556         * src/core/project_renderer.cpp:
7557         new class for easily rendering a project into a file
7559         * include/mixer.h:
7560         * include/audio_sdl.h:
7561         * include/audio_jack.h:
7562         * include/audio_device.h:
7563         * include/audio_oss.h:
7564         * include/audio_alsa.h:
7565         * src/core/audio/audio_alsa.cpp:
7566         * src/core/audio/audio_device.cpp:
7567         * src/core/audio/audio_file_wave.cpp:
7568         * src/core/audio/audio_jack.cpp:
7569         * src/core/audio/audio_oss.cpp:
7570         * src/core/audio/audio_sdl.cpp:
7571         * src/core/mixer.cpp:
7572         when changing quality-settings tell audio-devices about it so that
7573         they can adjust their output-samplerate
7575 2008-05-05      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
7577         * plugins/ladspa_effect/ladspa_effect.cpp:
7578         * plugins/organic/organic.cpp:
7579         * plugins/lb302/lb302.cpp:
7580         * plugins/bit_invader/bit_invader.cpp:
7581         * plugins/vibed/vibrating_string.cpp:
7582         * plugins/vibed/vibed.cpp:
7583         * plugins/triple_oscillator/triple_oscillator.cpp:
7584         * plugins/live_tool/live_tool.cpp:
7585         * plugins/audio_file_processor/audio_file_processor.cpp:
7586         * plugins/stk/mallets/mallets.cpp:
7587         * plugins/sf2_player/sf2_player.cpp:
7588         * plugins/vst_base/lvsl_client.cpp:
7589         * plugins/ladspa_browser/ladspa_port_dialog.cpp:
7590         * plugins/kicker/kicker.cpp:
7591         * include/effect.h:
7592         * include/controller.h:
7593         * include/mixer.h:
7594         * include/sample_buffer.h:
7595         * include/audio_dummy.h:
7596         * include/audio_sdl.h:
7597         * include/song.h:
7598         * include/audio_file_device.h:
7599         * include/audio_jack.h:
7600         * include/audio_device.h:
7601         * include/audio_oss.h:
7602         * include/audio_sample_recorder.h:
7603         * include/audio_alsa.h:
7604         * src/gui/piano_roll.cpp:
7605         * src/gui/song_editor.cpp:
7606         * src/gui/setup_dialog.cpp:
7607         * src/gui/file_browser.cpp:
7608         * src/gui/widgets/envelope_and_lfo_view.cpp:
7609         * src/gui/automation_editor.cpp:
7610         * src/gui/export_project_dialog.cpp:
7611         * src/gui/bb_editor.cpp:
7612         * src/tracks/instrument_track.cpp:
7613         * src/tracks/pattern.cpp:
7614         * src/core/song.cpp:
7615         * src/core/bb_track_container.cpp:
7616         * src/core/audio/audio_file_device.cpp:
7617         * src/core/audio/audio_device.cpp:
7618         * src/core/audio/audio_alsa.cpp:
7619         * src/core/audio/audio_sdl.cpp:
7620         * src/core/audio/audio_oss.cpp:
7621         * src/core/audio/audio_sample_recorder.cpp:
7622         * src/core/audio/audio_jack.cpp:
7623         * src/core/sample_play_handle.cpp:
7624         * src/core/envelope_and_lfo_parameters.cpp:
7625         * src/core/mixer.cpp:
7626         * src/core/instrument_sound_shaping.cpp:
7627         * src/core/instrument_functions.cpp:
7628         * src/core/engine.cpp:
7629         * src/core/sample_buffer.cpp:
7630         * src/core/oscillator.cpp:
7631         * src/core/controller.cpp:
7632         * src/core/lfo_controller.cpp:
7633         made quality-settings (internal processing samplerate, interpolation
7634         and so on) independent of audio-devices (final output) and added new
7635         qualitySettings-structure to mixer - might be still buggy and HQ-mode
7636         is currently not working, this is going to be fixed tomorrow, anyways
7637         important preparation for new project-export-dialog
7639 2008-05-04      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
7641         * src/gui/fx_mixer_view.cpp:
7642         added spacing below FX-bank-selector
7644         * include/effect_select_dialog.h:
7645         * include/plugin.h:
7646         * src/gui/effect_select_dialog.cpp:
7647         fixed crash when adding an effect although none is selected and
7648         improved overall usability
7650         * plugins/organic/organic.cpp:
7651         fixed knob-inheritance problems
7653 2008-05-04      Paul Giblock <drfaygo/at/gmail/dot/com>
7655         * plugins/kicker/kicker.cpp:
7656         * plugins/kicker/artwork.png:
7657         Add new kicker artwork
7659         * plugins/organic/organic.cpp:
7660         * plugins/organic/randomise.png:
7661         * plugins/organic/randomise_pressed.png:
7662         * plugins/organic/artwork.png:
7663         * plugins/organic/logo.png:
7664         Add new organic artwork
7666         * include/knob.h:
7667         * src/gui/widgets/knob.cpp:
7668         Seperate some drawing functionality to simplify subclasses
7670         * src/tracks/instrument_track.cpp:
7671         Change plugin size from 246px back to 250px
7673 2008-05-03      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
7675         * src/core/track.cpp:
7676         fixed move of TCO-selections
7678 2008-04-30      Paul Giblock <drfaygo/at/gmail/dot/com>
7680         * src/gui/piano_roll.cpp:
7681         - Fixed moving of selected notes.
7682         - TODO: Quantanize the movement to selected "Q"
7684 2008-04-29      Paul Giblock <drfaygo/at/gmail/dot/com>
7686         * include/main_window.h:
7687         * src/gui/main_window.cpp:
7688         Add button for toggling FX Window.  Can use a better icon.
7690 2008-04-28      Paul Giblock <drfaygo/at/gmail/dot/com>
7692         * plugins/sf2_player/sf2_player.cpp:
7693         * plugins/sf2_player/sf2_player.h:
7694         Add gain, chorus, and reverb controls
7696         * include/instrument_functions.h:
7697         * src/core/instrument_functions.cpp:
7698         Fixed arpeggio direction loading
7700         * src/gui/widgets/effect_rack_view.cpp:
7701         Display effect window and enable fx-chain when adding an effect
7703         * src/gui/widgets/effect_view.cpp:
7704         Make effect controls window non-resizeable and remove maximize button
7706 2008-04-26      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
7708         * plugins/stereo_enhancer/stereo_enhancer.cpp:
7709         * plugins/stereo_enhancer/stereo_enhancer.h:
7710         - made delay-buffer a simple stereo-buffer instead of
7711           surround-frame-buffer
7712         - added missing call in constructor to clear newly created
7713           delay-buffer - fixes bad distorted sound in various scenarios
7715 2008-04-25      Paul Giblock <drfaygo/at/gmail/dot/com>
7717         * plugins/bit_invader/bit_invader.cpp:
7718         Fixed samplelength loading
7720 2008-04-24      Paul Giblock <drfaygo/at/gmail/dot/com>
7722         * src/core/song.cpp:
7723         Reset LFO counter on song play
7725         * src/core/controller.cpp:
7726         * include/controller.h:
7727         Change counter from signed int to unsigned
7729         * src/gui/piano_roll.cpp:
7730         - Allow volume bars to be modified by clicking one bar, then 
7731           sweeping the mouse
7732         - shade volume bars according to volume
7733         - fixed drawing of background while scrolling
7735         * plugins/stereo_matrix/stereo_matrix.cpp:
7736         Made wet/dry knob do something. Acts as a nice panning knob when the
7737         matrix has the channels swapped.
7739         * src/tracks/instrument_track.cpp:
7740         * src/gui/fx_mixer_view.cpp:
7741         * include/fx_mixer_view.h:
7742         - Made bank-buttons easier to hit
7743         - Double click on fx-channel LCD in ITW to warp to the proper FX-line
7745 2008-04-20      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
7747         * src/gui/widgets/group_box.cpp:
7748         * plugins/sf2_player/sf2_player.cpp:
7749         small cleanups
7751         * data/themes/default/style.css:
7752         * include/fx_mixer_view.h:
7753         * src/gui/fx_mixer_view.cpp:
7754         improved layouting and made FX-lines being organized in 4 banks
7755         instead of one big scrollarea
7757         * src/core/engine.cpp:
7758         create FX-mixer after song
7760         * Makefile.am:
7761         * include/fx_mixer.h:
7762         * include/fx_mixer_view.h:
7763         * src/core/fx_mixer.cpp:
7764         * src/core/song.cpp:
7765         * src/gui/fx_mixer_view.cpp:
7766         splitted source-files for FX-mixer and its view
7768         * include/fader.h:
7769         * src/gui/widgets/fader.cpp:
7770         made faders automatable
7772         * include/song.h:
7773         made automation-track public accessible
7775         * include/visualization_widget.h:
7776         * src/gui/widgets/visualization_widget.cpp:
7777         use new timer-framework
7779         * include/song_editor.h:
7780         * src/gui/song_editor.cpp:
7781         added fast and leightweight timer-framework - widgets requiring
7782         periodic updates can simply connect their update-slots to
7783         songEditor::periodicUpdate()
7785 2008-04-20      Paul Giblock <drfaygo/at/gmail/dot/com>
7787         * plugins/stereo_matrix/stereomatrix_controls.cpp:
7788         Fixed saveSettings
7790 2008-04-16      Paul Giblock <drfaygo/at/gmail/dot/com>
7792         * plugins/sf2_player/sf2_player.cpp:
7793         * plugins/sf2_player/sf2_player.h:
7794         rewrote reference-sharing. Should return near-100% memory on unload, and
7795         should properly handle samplerate changes.  Now we can render large
7796         sf2-based projects without consuming a gig of ram :)
7798 2008-04-15      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
7800         * src/gui/file_browser.cpp:
7801         check type of preview-play-handle via type() instead of blindly using
7802         dynamic_cast - probably fixes random crashes when previewing a lot of
7803         samples and presets
7805         * src/tracks/instrument_track.cpp:
7806         delete instrument-instance *after* removing all play-handles from
7807         mixer as several play-handle-methods rely on instrument - fixes crash
7808         when removing track while playing
7810         * src/core/track.cpp:
7811         directly delete view before removing model - fixes crash when
7812         removing instrument-track with instrument-track-window open
7814 2008-04-15      Paul Giblock <drfaygo/at/gmail/dot/com>
7816         * plugins/stereo_matrix/stereomatrix_control_dialog.cpp:
7817         Fix layout
7818         
7819 2008-04-14      Paul Giblock <drfaygo/at/gmail/dot/com>
7821         * plugins/stereo_matrix:
7822         * plugins/stereo_matrix/stereo_matrix.cpp:
7823         * plugins/stereo_matrix/stereo_matrix.h:
7824         * plugins/stereo_matrix/stereomatrix_controls.cpp:
7825         * plugins/stereo_matrix/stereomatrix_controls.h:
7826         * plugins/stereo_matrix/stereomatrix_control_dialog.cpp:
7827         * plugins/stereo_matrix/stereomatrix_control_dialog.h:
7828         * plugins/stereo_matrix/logo.png:
7829         * plugins/stereo_matrix/Makefile.am:
7830         * configure.in:
7831         * plugins/Makefile.am:
7832         Add stereo matrix plugin for real panning and stereo-swapping
7834 2008-04-14      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
7836         * plugins/sf2_player/sf2_player.cpp:
7837         * plugins/sf2_player/sf2_player.h:
7838         added resampling with Sinc-interpolation in case LMMS processes with
7839         higher sample-rate than 96 KHz
7841 2008-04-14      Paul Giblock <drfaygo/at/gmail/dot/com>
7843         * plugins/sf2_player/sf2_player.cpp:
7844         * plugins/sf2_player/sf2_player.h:
7845         support HQ-mode except for interpolation for sampleRates > 96k
7847         * include/controller_dialog.h:
7848         * include/controller_view.h:
7849         * src/gui/controller_dialog.cpp:
7850         * src/gui/widgets/controller_view.cpp:
7851         * Makefile.am:
7852         fix segfault when trying to show a controller dialog the second time
7854 2008-04-12      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
7856         * plugins/lb302/lb302.cpp:
7857         replaced LB_HZ with engine::getMixer()->sampleRate()-calls in order to
7858         have a correct pitch in HQ-mode
7860         * plugins/ladspa_effect/ladspa_effect.cpp:
7861         * plugins/ladspa_effect/ladspa_control_dialog.cpp:
7862         * plugins/ladspa_effect/ladspa_effect.h:
7863         * plugins/ladspa_effect/ladspa_controls.cpp:
7864         * plugins/ladspa_effect/Makefile.am:
7865         * plugins/ladspa_effect/ladspa_control_dialog.h:
7866         * plugins/ladspa_effect/ladspa_controls.h:
7867         * include/effect_control_dialog.h:
7868         made LADSPA-effect-hoster handle samplerate-changes so that we've
7869         proper effect-processing in HQ-mode
7871         * include/lmms_constants.h:
7872         more accurate constants
7874         * src/gui/export_project_dialog.cpp:
7875         fixed progress-bar after change of tick-resolution from 64 to 192
7877         * include/mixer.h:
7878         * src/core/mixer.cpp:
7879         made clearAudioBuffer() static
7881         * include/song.h:
7882         * src/core/ladspa_manager.cpp:
7883         coding-style-stuff
7885         * src/core/oscillator.cpp:
7886         do not synthesize anything if frequency is above half of samplerate
7888 2008-04-09      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
7890         * plugins/flp_import/flp_import.cpp:
7891         * plugins/midi_import/midi_import.cpp:
7892         * include/engine.h:
7893         * include/song.h:
7894         * include/pattern.h:
7895         * include/piano_roll.h:
7896         * include/midi_time.h:
7897         * include/types.h:
7898         * include/timeline.h:
7899         * include/automation_editor.h:
7900         * configure.in:
7901         * src/gui/piano_roll.cpp:
7902         * src/gui/song_editor.cpp:
7903         * src/gui/automation_editor.cpp:
7904         * src/tracks/bb_track.cpp:
7905         * src/tracks/instrument_track.cpp:
7906         * src/tracks/pattern.cpp:
7907         * src/core/note_play_handle.cpp:
7908         * src/core/song.cpp:
7909         * src/core/bb_track_container.cpp:
7910         * src/core/mixer.cpp:
7911         * src/core/mmp.cpp:
7912         * src/core/track.cpp:
7913         * src/core/engine.cpp:
7914         * src/core/timeline.cpp:
7915         * src/core/automation_pattern.cpp:
7916         changed internal MIDI-time-resolution from 64th to 192th resulting for
7917         example in better MIDI-import and allowing to use triplet-notes in LMMS
7919 2008-04-09      Paul Giblock <drfaygo/at/gmail/dot/com>
7921         * include/controller.h:
7922         * src/core/controller.cpp:
7923         fit values between 0.0 and 1.0
7925         * include/lfo_controller.h:
7926         * src/gui/lfo_controller_dialog.cpp:
7927         * src/core/lfo_controller.cpp:
7928         add more parameters to LFO controller
7930 2008-04-08      Paul Giblock <drfaygo/at/gmail/dot/com>
7932         * include/engine.h:
7933         * src/core/engine.cpp:
7934         add static accessor to the controller rack.  I'm sure this won't be it's
7935         own MDISubWindow very long..
7937         * include/controller.h:
7938         * include/controller_dialog.h:
7939         * src/gui/widgets/knob.cpp:
7940         * src/core/controller.cpp:
7941         add gui accesssor and split off LFO
7943         * include/song.h:
7944         * src/core/song.cpp:
7945         make song the model for user-created controllers
7947         * src/gui/song_editor.cpp:
7948         added icon.  Was going to add controller rack as a QSplitter but found
7949         this would take too much time right now
7951         * src/gui/widgets/visualization_widget.cpp:
7952         drop back from 40 to an arbitrary 24fps
7954         * include/lfo_controller.h:
7955         * src/gui/lfo_controller.cpp:
7956         * src/gui/lfo_controller_dialog.cpp:
7957         - add beginnings of an LFO controller and dialog
7958         - don't mind the unoptimized code, it will be fixed
7960         * include/controller_view.h:
7961         * include/controller_rack_view.h:
7962         * src/gui/widgets/controller_view.cpp:
7963         * src/gui/widgets/controller_rack_view.cpp:
7964         * data/themes/default/controller_bg.png:
7965         The beginning of the controller rack and controller items.  This is an
7966         absolute bare minimum interface at the moment.  Also ulta-buggy.
7968         * include/controller_connection_dialog.h:
7969         * src/gui/controller_connection_dialog.cpp:
7970         This is the connection dialog. Will allow users to create and modify
7971         connections between a controller and model.  The lineEdit will be for
7972         editing a mapping function to scale, offset, trig-ify, etc.
7974         * Makefile.am:
7975         add controller related files
7977 2008-04-07      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
7979         * src/gui/effect_select_dialog.cpp:
7980         fixed wrong model-index (=>wrong description-widget) when filtering
7982         * src/gui/lmms_style.cpp:
7983         decreased button-icon-size to 20px
7985         * src/core/fx_mixer.cpp:
7986         process FX-channels until effects signal that there's nothing more to
7987         process - closes #1935872
7989         * configure.in:
7990         integrated changes from libsamplerate-0.1.3/configure.ac
7992         * include/effect_select_dialog.h:
7993         * src/gui/effect_select_dialog.cpp:
7994         - cleanups
7995         - fixed broken connection for "Add"-button
7997         * src/3rdparty/samplerate/common.h:
7998         * src/3rdparty/samplerate/fastest_coeffs.h:
7999         * src/3rdparty/samplerate/float_cast.h:
8000         * src/3rdparty/samplerate/high_qual_coeffs.h:
8001         * src/3rdparty/samplerate/mid_qual_coeffs.h:
8002         * src/3rdparty/samplerate/samplerate.c:
8003         * src/3rdparty/samplerate/samplerate.h:
8004         * src/3rdparty/samplerate/src_linear.c:
8005         * src/3rdparty/samplerate/src_sinc.c:
8006         * src/3rdparty/samplerate/src_zoh.c:
8007         integrated libsamplerate 0.1.3 source which has various improvements
8008         over 4-year-old version 0.1.2
8010         * src/gui/widgets/combobox.cpp:
8011         set correct value for model when selecting an item whose strings
8012         occurs multiple times in the combobox
8014 2008-04-06      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
8016         * include/effect_select_dialog.h:
8017         * src/gui/effect_select_dialog.cpp:
8018         changed list-widget to be a list-view and added a line-edit for
8019         filtering the list
8021 2008-04-06  Paul Giblock <drfaygo/at/gmail/dot/com>
8023         * include/lmms_style.h:
8024         * src/gui/lmms_style.cpp:
8025         Fix icon size for buttons etc...
8027 2008-04-05      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
8029         * plugins/patman/patman.cpp:
8030         * plugins/patman/patman.h:
8031         * plugins/lb302/lb302.cpp:
8032         * plugins/lb302/lb302.h:
8033         * plugins/organic/organic.cpp:
8034         * plugins/organic/organic.h:
8035         * plugins/bit_invader/bit_invader.cpp:
8036         * plugins/bit_invader/bit_invader.h:
8037         * plugins/vibed/vibed.h:
8038         * plugins/vibed/vibed.cpp:
8039         * plugins/triple_oscillator/triple_oscillator.h:
8040         * plugins/triple_oscillator/triple_oscillator.cpp:
8041         * plugins/audio_file_processor/audio_file_processor.cpp:
8042         * plugins/audio_file_processor/audio_file_processor.h:
8043         * plugins/stk/mallets/mallets.cpp:
8044         * plugins/stk/mallets/mallets.h:
8045         * plugins/sf2_player/sf2_player.cpp:
8046         * plugins/sf2_player/sf2_player.h:
8047         * plugins/vestige/vestige.cpp:
8048         * plugins/vestige/vestige.h:
8049         * plugins/kicker/kicker.cpp:
8050         * plugins/kicker/kicker.h:
8051         * include/instrument_play_handle.h:
8052         * include/mixer.h:
8053         * include/instrument_track.h:
8054         * include/instrument.h:
8055         * include/note_play_handle.h:
8056         * include/sample_play_handle.h:
8057         * include/dummy_instrument.h:
8058         * include/preset_preview_play_handle.h:
8059         * include/play_handle.h:
8060         * src/tracks/instrument_track.cpp:
8061         * src/core/preset_preview_play_handle.cpp:
8062         * src/core/note_play_handle.cpp:
8063         * src/core/sample_play_handle.cpp:
8064         * src/core/mixer.cpp:
8065         * src/core/instrument.cpp:
8066         made rendering happen with one global working-buffer per thread -
8067         hopefully improves L1/L2-cache-efficiency
8069         * include/file_browser.h:
8070         * src/gui/file_browser.cpp:
8071         do not examine directories for being empty when adding them - speeds
8072         up LMMS-startup a lot!
8074 2008-04-04      Paul Giblock <drfaygo/at/gmail/dot/com>
8076         * include/knob.h:
8077         * src/gui/widgets/knob.cpp:
8078         Add friendlyUpdates slot and override doConnections
8080         * include/song_editor.h:
8081         Add button for managing controller to songEditor
8083         * include/mv_base.h:
8084         * include/core/mv_base.cpp:
8085         Make doConnections virtual
8087         * include/combobox.h:
8088         Fixed tabs
8090         * src/core/mixer.cpp:
8091         Couldn't easily convert from void* to int on a 64bit machine.  Instead,
8092         we now use a union.  We should change any enqueueing code to use the
8093         union as well
8094         
8095         * data/themes/add_controller.png:
8096         * data/themes/controller.png:
8097         Some new images for controllers
8099 2008-04-04      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
8101         * src/core/mixer.cpp:
8102         implemented parallelization of FX-channel-processing
8104         * include/automatable_model.h:
8105         * include/automatable_model_templates.h:
8106         cleanups and optimizations in value( int )
8108 2008-04-04      Paul Giblock <drfaygo/at/gmail/dot/com>
8109         
8110         * include/controller.h:
8111         * src/core/controller.cpp:
8112         * Makefile.am:
8113         Add controller class to LMMS
8115         * include/knob.h:
8116         * src/gui/widgets/knob.cpp:
8117         Add Connect to Controller item to context menu for future dialog
8119         * include/automatable_model.h:
8120         * include/automatable_model_templates.h:
8121         - add controller pointer to class
8122         - add value(int offset) function for sample-exact value fetching
8123         - use controller in value() if set
8125         * src/tracks/pattern.cpp:
8126         Fixed length of notes according to PaulWay
8127         
8128         * src/core/mixer.cpp:
8129         trigger controller's frame counter
8131         * data/themes/llama:
8132         * data/themes/llama/background_artwork.png:
8133         * data/themes/Makefile.am:
8134         start a theme with my preferences
8136 2008-04-03      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
8138         * include/song.h:
8139         * src/core/song.cpp:
8140         * src/gui/export_project_dialog.cpp:
8141         * src/gui/song_editor.cpp:
8142         made song-length being cached and only updated upon changed length or
8143         position of TCOs
8145         * src/core/track.cpp:
8146         optimized track::length()-method
8148         * src/core/mixer.cpp:
8149         great improvements on multithreading - one global job-queue protected by
8150         a simple mutex where threads pull their jobs from
8152         * src/core/engine.cpp:
8153         delete LADSPA-manager after mixer and FX-mixer as LADSPA-effects in
8154         FX-mixer access LADSPA-manger at destruction
8156         * plugins/ladspa_effect/ladspa_effect.cpp:
8157         * plugins/ladspa_effect/ladspa_effect.h:
8158         * plugins/bass_booster/bass_booster.cpp:
8159         * plugins/bass_booster/bass_booster.h:
8160         * plugins/stereo_enhancer/stereo_enhancer.cpp:
8161         * plugins/stereo_enhancer/stereo_enhancer.h:
8162         * include/effect.h:
8163         - made effect::processAudioBuffer(...) process a sampleFrame- instead of
8164           surroundSampleFrame-array
8165         - divide out_sum by number of frames processed to have a
8166           period-size-independent value
8168         * src/core/note_play_handle.cpp:
8169         * include/automatable_model.h:
8170         renamed value( int ) to levelToValue( int ) as preparation for
8171         controller-framework
8173         * include/mixer.h:
8174         * src/core/mixer.cpp:
8175         - made mixer::buffertToPort accept a stereoVolumeVector as audio-buffers
8176           have stereo-audio-buffers now
8177         - made peakValueLeft() and peakValueRight() take a sampleFrame-pointer
8178         - process in stereo internally
8180         * include/instrument_track.h:
8181         * src/tracks/instrument_track.cpp:
8182         replaced surroundArea with panning-knob
8184         * include/audio_port.h:
8185         * src/core/audio/audio_port.cpp:
8186         use sampleFrame-array instead of surroundSampleFrame-array for
8187         processing
8189         * src/core/fx_mixer.cpp:
8190         * include/fx_mixer.h:
8191         made mixToChannel() take a sampleFrame-pointer
8193         * include/volume.h:
8194         * src/core/sample_play_handle.cpp:
8195         * src/core/surround_area.cpp:
8196         added stereoVolumeVector and surroundVolumeVector-declarations
8198         * include/dummy_effect.h:
8199         implement pure-virtual processAudioBuffer()-method
8201         * include/panning.h:
8202         new panningToVolumeVector()-inline-method
8204         * include/effect_chain.h:
8205         * src/core/effect_chain.cpp:
8206         made processAudioBuffer() take a sampleFrame-pointer
8208         * include/visualization_widget.h:
8209         * src/gui/widgets/visualization_widget.cpp:
8210         use sampleFrame-array instead of surroundSampleFrame-array internally
8212 2008-04-02      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
8214         * include/automatable_model.h:
8215         added castValue()-method
8217 2008-04-01      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
8219         * plugins/ladspa_effect/Makefile.am:
8220         * plugins/patman/Makefile.am:
8221         * plugins/lb302/Makefile.am:
8222         * plugins/organic/Makefile.am:
8223         * plugins/bass_booster/Makefile.am:
8224         * plugins/bit_invader/Makefile.am:
8225         * plugins/vst_effect/Makefile.am:
8226         * plugins/vibed/Makefile.am:
8227         * plugins/triple_oscillator/Makefile.am:
8228         * plugins/live_tool/Makefile.am:
8229         * plugins/live_tool/live_tool.cpp:
8230         * plugins/singerbot/Makefile.am:
8231         * plugins/audio_file_processor/Makefile.am:
8232         * plugins/stk/mallets/Makefile.am:
8233         * plugins/stereo_enhancer/Makefile.am:
8234         * plugins/vestige/Makefile.am:
8235         * plugins/sf2_player/Makefile.am:
8236         * plugins/ladspa_browser/Makefile.am:
8237         * plugins/kicker/Makefile.am:
8238         * plugins/polyb302/Makefile.am:
8239         * plugins/flp_import/flp_import.cpp:
8240         corrected paths / includes
8242         * include/engine.h:
8243         * include/instrument_track.h:
8244         * include/preset_preview_play_handle.h:
8245         * src/tracks/instrument_track.cpp:
8246         * src/core/preset_preview_play_handle.cpp:
8247         * src/core/track_container.cpp:
8248         * src/core/engine.cpp:
8249         added dummyTrackContainer with dummyInstrumentTrack in order to have a
8250         default-model for cached inactive instrument-track-windows - fixes
8251         regular crashes
8253         * include/engine.h:
8254         * include/bb_track_container.h:
8255         * include/track_container_view.h:
8256         * include/song_editor.h:
8257         * include/bb_editor.h:
8258         * include/track_container.h:
8259         * src/gui/track_container_view.cpp:
8260         * src/gui/bb_editor.cpp:
8261         * src/tracks/bb_track.cpp:
8262         * src/tracks/pattern.cpp:
8263         * src/core/preset_preview_play_handle.cpp:
8264         * src/core/track_container.cpp:
8265         * src/core/song.cpp:
8266         * src/core/bb_track_container.cpp:
8267         * src/core/file_browser.cpp:
8268         * src/core/track.cpp:
8269         * src/core/engine.cpp:
8270         * src/core/automation_editor.cpp:
8271         * Makefile.am:
8272         - splitted track_container.h into track_container.h and
8273           track_container_view.h
8274         - splitted bb_editor.h into bb_track_container.h and bb_editor.h
8275         - moved view-component-implementations of trackContainer and
8276           bbTrackContainer to src/gui/
8277         - added dummyInstrumentTrack-implementation
8279         * plugins/ladspa_effect/caps/README.ardour:
8280         * plugins/ladspa_effect/caps/README.dist:
8281         * plugins/ladspa_effect/caps/Makefile.am:
8282         added README-files
8284         * plugins/ladspa_effect/ladspa_effect.cpp:
8285         * plugins/bass_booster/bass_booster.cpp:
8286         decreased minimal gate from 0.0001f to 0.00001f as it turned out that
8287         some effects were cut off with previous value
8289         * include/endian_handling.h:
8290         * include/note.h:
8291         * include/effect_select_dialog.h:
8292         * include/midi.h:
8293         * include/effect_view.h:
8294         * include/side_bar.h:
8295         * include/micro_timer.h:
8296         * include/midi_event_processor.h:
8297         * include/instrument_function_views.h:
8298         * include/instrument_midi_io.h:
8299         * include/export.h:
8300         * include/dummy_instrument.h:
8301         * include/level_object.h:
8302         added missing includes when compiling headers itself
8304         * Makefile.am:
8305         added single-binary-target for testing-purposes
8307 2008-03-30      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
8309         * src/core/song_editor.cpp:
8310         removed obsolete SIGNAL/SLOT-connection
8312         * plugins/bass_booster/bass_booster.cpp:
8313         * plugins/ladspa_effect/ladspa_effect.cpp:
8314         compare out_sum against getGate()+0.0001f as getGate() might be 0
8315         while out_sum in many cases never will reach 0,0...0 again - fixes
8316         high CPU-usage even after stop playing
8318         * include/effect_chain.h:
8319         * plugins/ladspa_effect/ladspa_effect.cpp:
8320         made controls have a track to allow automation of LADSPA-controls
8322         * include/automatable_button.h:
8323         * src/widgets/automatable_button.cpp:
8324         on model-change, ensure QPushButton's state is correct
8326         * src/widgets/effect_rack_view.cpp:
8327         properly handle changed models
8329         * src/tracks/instrument_track.cpp:
8330         when model has changed, also set new model for effect-view
8332         * src/core/effect_chain.cpp:
8333         - use track as parent
8334         - correct initialization of m_enabledModel which fixes crashes on
8335           model-updates
8337 2008-03-30      Paul Giblock <drfaygo/at/gmail/dot/com>
8339         * plugins/sf2_player/sf2_player.cpp:
8340         * plugins/sf2_player/sf2_player.h:
8341         Fix patch dialog error when viewing dialog before file has loaded -
8342         all we had to do is diable the button while a file is loading
8344 2008-03-30      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
8346         * plugins/sf2_player/sf2_player.cpp:
8347         duplicate char-pointer returned by qPrintable - fixes bugs when
8348         loading sound-fonts
8350 2008-03-24      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
8352         * src/core/fx_mixer.cpp:
8353         completed recent changes to saveSettings() / loadSettings()
8355 2008-03-22      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
8357         * data/themes/default/main_toolbar_bg.png:
8358         * data/themes/default/toolbar_bg.png:
8359         made toolbar-backgrounds a bit more blue-ish
8361         * src/core/main.cpp:
8362         tuned colors a bit
8364         * src/core/fx_mixer.cpp:
8365         moved effect-chain to right side of window
8367         * src/core/ladspa_control.cpp:
8368         added missing break in switch which made a lot of messages appear in
8369         console when time-based knobs were used by LADSPA-plugins
8371         * plugins/organic/organic.cpp:
8372         * plugins/organic/organic.h:
8373         * plugins/vibed/vibed.h:
8374         * plugins/vibed/vibed.cpp:
8375         * plugins/triple_oscillator/triple_oscillator.cpp:
8376         * plugins/audio_file_processor/audio_file_processor.cpp:
8377         * plugins/vestige/vestige.cpp:
8378         * plugins/vestige/vestige.h:
8379         * plugins/sf2_player/artwork.png:
8380         * plugins/midi_import/midi_import.cpp:
8381         * include/note.h:
8382         * include/mixer.h:
8383         * include/instrument_track.h:
8384         * include/sample_buffer.h:
8385         * include/fx_mixer.h:
8386         * include/piano.h:
8387         * include/volume.h:
8388         * include/midi_port.h:
8389         * include/panning.h:
8390         * src/midi/midi_client.cpp:
8391         * src/midi/midi_port.cpp:
8392         * src/midi/midi_alsa_seq.cpp:
8393         * src/lib/sample_buffer.cpp:
8394         * src/widgets/instrument_midi_io_view.cpp:
8395         * src/tracks/instrument_track.cpp:
8396         * src/core/preset_preview_play_handle.cpp:
8397         * src/core/note_play_handle.cpp:
8398         * src/core/mixer.cpp:
8399         * src/core/piano_roll.cpp:
8400         * src/core/instrument_functions.cpp:
8401         * src/core/instrument_midi_io.cpp:
8402         * src/core/note.cpp:
8403         * src/core/piano.cpp:
8404         * src/core/fx_mixer.cpp:
8405         - merged note's tone and octave-property into one key-property which
8406           makes us save calculations in a lot of places and also shrinks
8407           sizes of XML-files
8408         - renamed various note-related constants and enums to match current
8409           coding-style
8411         * data/themes/default/effect_plugin.png:
8412         improved effect-plugin-artwork made with Inkscape
8414 2008-03-22  Paul Giblock <drfaygo/at/gmail/dot/com>
8415         
8416         * plugins/organic/organic.cpp:
8417         Removed debug printf
8419         * include/instrument_track.h:
8420         * src/tracks/instrument_track.cpp:
8421         - First version of cache for hidden instrumentTrackWindows
8422         - Need to delete the cache and any remaining ITW's upon application close
8424         * src/core/lmms_style.cpp:
8425         Applied border to more primatives. Still some known issues..
8427         * src/core/main.cpp:
8428         Just playing around with palette colors.
8430 2008-03-16  Paul Giblock <drfaygo/at/gmail/dot/com>
8432         * Makefile.am:
8433         Added lmmsStyle to the Makefile again.
8435         * src/widgets/lcd_spinbox.cpp:
8436         * include/lcd_spinbox.h:
8437         - Added separate function for deriving control size
8438         - Added property for side-margins
8439         - Fixed memory leak with the pixmap
8440         - Added yours truly to the copyright
8442         * src/core/lmms_style.cpp:
8443         * include/lmms_style.h:
8444         - Re-added lmmsStyle. I don't know why these files disappeared
8445         - Improve appearance of sunken borders
8447         * plugins/sf2_player/sf2_player.cpp:
8448         * plugins/sf2_player/sf2_player.h:
8449         - Hopefully plugged some leaks caused by the leaky fluidSynth.  It seems
8450         to run fine, but only time will tell
8451         - Added sfont file sharing between instances of sf2Player
8452         - Added synthMutex to keep play() from freezing while we are recreating
8453         the synth due to a file load.
8455         * src/widgets/combobox.cpp:
8456         Draw styled border.
8458         * src/core/fx_mixer.cpp:
8459         Improved drawing of LCD Channel numbers.
8461         * .:
8462         * m4:
8463         * buildtools:
8464         * plugins:
8465         * plugins/ladspa_effect:
8466         * plugins/ladspa_effect/caps:
8467         * plugins/ladspa_effect/caps/waves:
8468         * plugins/ladspa_effect/caps/dsp:
8469         * plugins/ladspa_effect/caps/dsp/tonestack:
8470         * plugins/patman:
8471         * plugins/lb302:
8472         * plugins/organic:
8473         * plugins/bass_booster:
8474         * plugins/bit_invader:
8475         * plugins/vst_effect:
8476         * plugins/vibed:
8477         * plugins/triple_oscillator:
8478         * plugins/singerbot:
8479         * plugins/live_tool:
8480         * plugins/audio_file_processor:
8481         * plugins/stk:
8482         * plugins/stk/mallets:
8483         * plugins/stk/voices:
8484         * plugins/stk/voices/flute:
8485         * plugins/stk/voices/resonate:
8486         * plugins/stk/voices/include:
8487         * plugins/stk/voices/wurley:
8488         * plugins/stk/voices/src:
8489         * plugins/stk/voices/percflute:
8490         * plugins/stk/voices/rhodey:
8491         * plugins/stk/voices/tubebell:
8492         * plugins/stk/voices/bowed:
8493         * plugins/stk/voices/clarinet:
8494         * plugins/stk/voices/moog:
8495         * plugins/stk/voices/metal:
8496         * plugins/stk/voices/b3:
8497         * plugins/stk/voices/blow_hole:
8498         * plugins/stk/voices/brass:
8499         * plugins/stk/voices/fmvoices:
8500         * plugins/stk/voices/bandedwg:
8501         * plugins/stk/voices/blow_bottle:
8502         * plugins/plucked_string_synth:
8503         * plugins/stereo_enhancer:
8504         * plugins/sf2_player:
8505         * plugins/vestige:
8506         * plugins/vst_base:
8507         * plugins/ladspa_browser:
8508         * plugins/kicker:
8509         * plugins/polyb302:
8510         * plugins/flp_import:
8511         * plugins/flp_import/unrtf:
8512         * plugins/midi_import:
8513         * include:
8514         * src:
8515         * src/audio:
8516         * src/midi:
8517         * src/lib:
8518         * src/widgets:
8519         * src/tracks:
8520         * src/3rdparty:
8521         * src/3rdparty/samplerate:
8522         * src/core:
8523         * data:
8524         * data/locale:
8525         * data/track_icons:
8526         * data/midi-maps:
8527         * data/samples:
8528         * data/samples/effects:
8529         * data/samples/stringsnpads:
8530         * data/samples/basses:
8531         * data/samples/shapes:
8532         * data/samples/latin:
8533         * data/samples/bassloopes:
8534         * data/samples/drums:
8535         * data/samples/instruments:
8536         * data/samples/misc:
8537         * data/samples/drumsynth:
8538         * data/samples/drumsynth/effects:
8539         * data/samples/drumsynth/misc_synth:
8540         * data/samples/drumsynth/tr606:
8541         * data/samples/drumsynth/cr78:
8542         * data/samples/drumsynth/magnetboy:
8543         * data/samples/drumsynth/tr808:
8544         * data/samples/drumsynth/tr909:
8545         * data/samples/drumsynth/misc_fx:
8546         * data/samples/drumsynth/misc:
8547         * data/samples/drumsynth/electro:
8548         * data/samples/drumsynth/linn:
8549         * data/samples/drumsynth/ferraro:
8550         * data/samples/drumsynth/r_b:
8551         * data/samples/drumsynth/misc_bass:
8552         * data/samples/drumsynth/tr77:
8553         * data/samples/drumsynth/misc_perc:
8554         * data/samples/drumsynth/latin:
8555         * data/samples/drumsynth/instrument:
8556         * data/samples/drumsynth/misc_electro:
8557         * data/samples/drumsynth/acoustic:
8558         * data/samples/drumsynth/misc_hats:
8559         * data/samples/drumsynth/farfisa:
8560         * data/samples/drumsynth/jorgensohn:
8561         * data/samples/drumsynth/cr8000:
8562         * data/samples/drumsynth/misc_claps:
8563         * data/samples/beats:
8564         * data/presets:
8565         * data/presets/AudioFileProcessor:
8566         * data/presets/LB302:
8567         * data/presets/Organic:
8568         * data/presets/PluckedStringSynth:
8569         * data/presets/VeSTige:
8570         * data/presets/BitInvader:
8571         * data/presets/Vibed:
8572         * data/presets/TripleOscillator:
8573         * data/themes:
8574         * data/themes/blue_scene:
8575         * data/themes/blue_scene/plugins:
8576         * data/themes/default:
8577         * data/projects:
8578         * data/projects/covers:
8579         * data/projects/recorded_loops:
8580         * data/projects/cool_songs:
8581         * data/projects/tutorials:
8582         * data/projects/demos:
8583         * data/projects/misc:
8584         * data/projects/templates:
8585         Added svn:ignore property for temporary buildtime files.  Prevents
8586         dozens of items showing in diff and status.  The file
8587         .svnignore describes which files are ignored.
8589         * .svnignore:
8590         Can change this file to ignore more stuff.  Reapply by running: 
8591         svn -R propset svn:ignore -F .svnignore .
8592                 
8593 2008-03-16      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
8595         * src/widgets/visualization_widget.cpp:
8596         improved signal-visualization and increased update-ratio from 20 to 40
8597         fps
8599         * include/mixer.h:
8600         * src/core/mixer.cpp:
8601         * src/core/song_editor.cpp:
8602         * data/themes/default/auto_limit.png:
8603         removed obsolete and broken auto-limit-feature
8605         * src/core/engine.cpp:
8606         * src/core/fx_mixer.cpp:
8607         proper cleanup of fxMixer and its view at exit
8609         * src/widgets/effect_view.cpp:
8610         * data/themes/default/effect_plugin.png:
8611         improved effect-view-artwork
8613 2008-03-15      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
8615         * src/core/mixer.cpp:
8616         fixed peak-calculation for negative signal-values
8618         * include/effect_view.h:
8619         * src/widgets/effect_view.cpp:
8620         - fixed random crashes when removing effect-views
8621         - improved painting of effect-view
8623         * plugins/ladspa_effect/ladspa_controls.cpp:
8624         fixed LADSPA-controls which internally were not linked per default
8625         although they should be
8627         * include/fx_mixer.h:
8628         * include/effect_rack_view.h:
8629         * include/effect_chain.h:
8630         * src/widgets/effect_rack_view.cpp:
8631         * src/tracks/instrument_track.cpp:
8632         * src/core/effect_chain.cpp:
8633         * src/core/song.cpp:
8634         * src/core/fx_mixer.cpp:
8635         implemented save- and load-functionality for FX-mixer
8637 2008-03-14      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
8639         * include/engine.h:
8640         * include/mixer.h:
8641         * include/fx_mixer.h:
8642         * include/fader.h:
8643         * include/effect_chain.h:
8644         * src/audio/audio_port.cpp:
8645         * src/widgets/fader.cpp:
8646         * src/tracks/instrument_track.cpp:
8647         * src/core/effect_chain.cpp:
8648         * src/core/mixer.cpp:
8649         * src/core/engine.cpp:
8650         * src/core/fx_mixer.cpp:
8651         * data/themes/default/fader_background.png:
8652         * data/themes/default/fader_knob.png:
8653         * data/themes/default/fader_leds.png:
8654         * Makefile.am:
8655         added initial FX-mixer implementation - not perfect and very usable
8656         yet but the basics work so far :)
8658         * src/widgets/instrument_midi_io_view.cpp:
8659         fixed segfault when using raw MIDI-client
8661 2008-03-08      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
8663         * data/locale/de.ts:
8664         * data/locale/de.qm:
8665         updated German localization
8666         
8667         * include/effect_board.h:
8668         removed
8670         * include/fx_mixer.h:
8671         * src/tracks/instrument_track.cpp:
8672         added definition for upcoming FX-mixer
8674         * plugins/triple_oscillator/triple_oscillator.h:
8675         * include/meter_dialog.h:
8676         * include/instrument_functions.h:
8677         * include/instrument_sound_shaping.h:
8678         * include/instrument_function_views.h:
8679         * include/bb_track.h:
8680         * include/ladspa_control_view.h:
8681         * include/instrument_sound_shaping_view.h:
8682         * src/midi/midi_client.cpp:
8683         * src/widgets/ladspa_control_view.cpp:
8684         * src/widgets/instrument_sound_shaping_view.cpp:
8685         * src/widgets/instrument_function_views.cpp:
8686         * src/core/instrument_sound_shaping.cpp:
8687         * src/core/instrument_functions.cpp:
8688         * Makefile.am:
8689         added missing Q_OBJECT-macros for views which made localizations not
8690         work
8692         * plugins/sf2_player/logo.png:
8693         replaced Kicker-logo with actual logo
8695         * src/core/track.cpp:
8696         * include/track.h:
8697         fixed crash when removing TCO via context-menu
8699         * include/instrument_track.h:
8700         * src/core/file_browser.cpp:
8701         made "Send to active instrument-track" work again
8703         * include/instrument_midi_io_view.h:
8704         * include/instrument_midi_io.h:
8705         * src/widgets/instrument_midi_io_view.cpp:
8706         * src/core/instrument_midi_io.cpp:
8707         made MIDI-port-menu work again
8709         * plugins/kicker/kicker.cpp:
8710         set track for knobs in order to make them automatable
8712         * include/automatable_model_templates.h:
8713         fixed missing automationPattern-initialization (i.e.
8714         setFirstValue()-call) which made automation-editor not work properly
8715         if no events were drawn so far
8717         * include/piano_roll.h:
8718         * include/automation_editor.h:
8719         * src/core/piano_roll.cpp:
8720         * src/core/automation_editor.cpp:
8721         made micro-draw-operations use 32-bit-ints instead of 16-bit-integers
8722         for performing better on 32-bit-platforms
8724         * data/locale/de.qm:
8725         * data/locale/de.ts:
8726         * include/mv_base.h:
8727         * src/widgets/combobox.cpp:
8728         * src/widgets/knob.cpp:
8729         * src/widgets/automatable_button.cpp:
8730         * src/core/mv_base.cpp:
8731         also connect model-signals with view when using default-constructed
8732         model - fixes missing updates on things like button-groups when using
8733         automation
8735 2008-03-07      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
8737         * plugins/vst_base/lvsl_server.cpp:
8738         show window before determining X-Window-ID as newer WINE-versions do
8739         not create X-windows before actually showing window
8741         * plugins/vst_base/lvsl_client.cpp:
8742         * plugins/vst_base/lvsl_client.h:
8743         properly insert VST-editor-window into QMdiArea
8745         * plugins/vestige/vestige.cpp:
8746         * plugins/vestige/vestige.h:
8747         M/V-split
8749         * plugins/kicker/kicker.h:
8750         * include/sample_buffer.h:
8751         * configure.in:
8752         * src/lib/sample_buffer.cpp:
8753         misc coding-style-fixes
8755         * include/sample_buffer.h:
8756         * src/lib/sample_buffer.cpp:
8757         made sampleBuffer reentrant so that several threads can use
8758         sampleBuffer::play() simultanously - fixes crashes when using
8759         AudioFileProcessor or Patman in multithreaded mode
8761 2008-03-06      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
8763         * plugins/sf2_player/sf2_player.h:
8764         * plugins/sf2_player/sf2_player.cpp:
8765         added m_runningNotes-array to track overlapping or edge-to-edge notes
8766         and act accordingly
8768 2008-03-04      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
8770         * src/widgets/graph.cpp:
8771         fixed compiler-warnings
8773         * include/automatable_model.h:
8774         * include/graph.h:
8775         * include/surround_area.h:
8776         * src/audio/audio_file_device.cpp:
8777         * src/audio/audio_alsa.cpp:
8778         * src/audio/audio_oss.cpp:
8779         * src/audio/audio_port.cpp:
8780         * src/audio/audio_jack.cpp:
8781         * src/midi/midi_alsa_seq.cpp:
8782         * src/lib/project_journal.cpp:
8783         * src/lib/mmp.cpp:
8784         * src/lib/oscillator.cpp:
8785         * src/widgets/ladspa_control_view.cpp:
8786         * src/widgets/envelope_and_lfo_view.cpp:
8787         * src/widgets/instrument_midi_io_view.cpp:
8788         * src/widgets/lcd_spinbox.cpp:
8789         * src/widgets/group_box.cpp:
8790         * src/widgets/volume_knob.cpp:
8791         * src/tracks/automation_track.cpp:
8792         * src/tracks/bb_track.cpp:
8793         * src/tracks/instrument_track.cpp:
8794         * src/core/preset_preview_play_handle.cpp:
8795         * src/core/track_container.cpp:
8796         * src/core/effect_control_dialog.cpp:
8797         * src/core/import_filter.cpp:
8798         * src/core/setup_dialog.cpp:
8799         * src/core/sample_play_handle.cpp:
8800         * src/core/envelope_and_lfo_parameters.cpp:
8801         * src/core/main.cpp:
8802         * src/core/mixer.cpp:
8803         * src/core/effect.cpp:
8804         * src/core/instrument_midi_io.cpp:
8805         * src/core/track.cpp:
8806         * src/core/timeline.cpp:
8807         * src/core/instrument.cpp:
8808         * src/core/surround_area.cpp:
8809         * src/core/effect_select_dialog.cpp:
8810         * src/core/automation_editor.cpp:
8811         * src/core/meter_dialog.cpp:
8812         reduced dependencies from automatable_model_templates.h and fixed
8813         according compiler-warnings
8815         * include/shared_object.h:
8816         added mutex to protect reference-counter
8818 2008-03-03      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
8820         * src/core/piano_roll.cpp:
8821         - fixed and improved painting of volume-lines
8822         - fixed painting of note-detuning-dots
8823         - fixed KEY_PRESSURE-events when changing volume of a note
8824         - pass keyboard-events to piano-class if appropriate
8826         * include/piano.h:
8827         * src/core/piano.cpp:
8828         moved MIDI-event-code to piano-class
8830         * src/core/piano_roll.cpp:
8831         * src/core/automation_editor.cpp:
8832         set focus-policy in order to receive key-events
8834         * plugins/sf2_player/sf2_player.cpp:
8835         - fixed open-file-dialog
8836         - fixed order of member-variable-initialization
8838         * src/lib/sample_buffer.cpp:
8839         added MP3-files to file-dialog-filter as they theoretically should be
8840         supported through SDL_sound-library
8842         * src/core/mixer.cpp:
8843         always process all note-play-handles of monophonic instruments by the
8844         same thread serially - fixes problems with monophonic instruments
8845         which rely on notes being processed in correct order
8847         * src/core/instrument_sound_shaping.cpp:
8848         fixed out-of-range initial value of filter-frequency-model
8850         * src/core/main_window.cpp:
8851         set directory before selecting file in QFileDialog
8853         * src/widgets/knob.cpp:
8854         removed relative painting - fixes badly draw knobs in several cases
8856         * src/core/song_editor.cpp:
8857         * src/core/track.cpp:
8858         * src/widgets/knob.cpp:
8859         * src/widgets/volume_knob.cpp:
8860         made textFloat's work properly and displayed at correct position
8862         * src/widgets/text_float.cpp:
8863         * include/text_float.h:
8864         always use main-window as parent and make sure to be moved relative to
8865         it, i.e. do not show outside of moved main-window
8867         * include/mmp.h:
8868         * src/lib/mmp.cpp:
8869         * src/core/song.cpp:
8870         removed overwrite-check as in Qt4 QFileDialog does this on its own
8872         * include/midi_event_processor.h:
8873         * include/instrument_track.h:
8874         * src/tracks/instrument_track.cpp:
8875         do not lock mixer and call notePlayHandle::noteOff() in
8876         instrumentTrack::processInEvent() when processing monophonic
8877         instruments in playNote() - fixes lockups in LB302 in multithreaded
8878         mode
8880 2008-03-02      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
8882         * include/ladspa_control.h:
8883         * src/widgets/ladspa_control_view.cpp:
8884         * src/widgets/tempo_sync_knob.cpp:
8885         fixed wrong integration of tempoSyncKnobModel
8887         * src/core/mv_base.cpp:
8888         made dataChanged()->update() connection queued
8890 2008-03-01      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
8892         * plugins/patman/patman.cpp:
8893         do not crash in patmanInstrument::playNote() when no file is set
8895         * include/ladspa_control.h:
8896         * src/core/ladspa_control.cpp:
8897         fixed missing tempoSyncKnobModel for not crashing when instantiating
8898         LADSPA-plugins with time-knobs inside
8900         * src/lib/sample_buffer.cpp:
8901         do not set global mixer lock in update() if no data has been set yet
8903         * plugins/patman/patman.cpp:
8904         do not crash when loading settings where no file is set
8906         * plugins/triple_oscillator/triple_oscillator.cpp:
8907         in saveSettings() fixed wrong integer-to-string-conversion which made
8908         LMMS save broken files
8910 2008-02-29      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
8912         * src/widgets/text_float.cpp:
8913         set Qt::ToolTip-window-flag in order to display correctly - some other
8914         positioning code still needs to be fixed
8916         * include/import_filter.h:
8917         fixed importFilter::readByte() to return proper integer instead of
8918         signed char - makes import-filters finally work
8920         * plugins/midi_import/midi_import.cpp:
8921         * plugins/flp_import/flp_import.cpp:
8922         fixed parameter-list of lmms_plugin_main to work properly
8924 2008-02-29      Paul Giblock <drfaygo/at/gmail/dot/com>
8925         
8926         * include/lcd_spinbox.h:
8927         * src/widgets/lcd_spinbox.cpp:
8928         * data/themes/default/lcd_19red.png:
8929         * data/themes/default/lcd_19green.png:
8930         new non-QLcdSpinBox pixmap-based LCD spinbox 
8932         * include/lmms_style.h:
8933         * src/core/main.cpp:
8934         * Makefile.am:
8935         added lmmsStyle to aim for a consistant interface.  Some Qt themes
8936         make LMMS look really bad.  Hopefully, over time, we can make a style
8937         the unifies all our gui elements
8939         * src/core/track.cpp:
8940         playing with alternating colors per tact
8942         * include/combobox.h:
8943         * src/widgets/combobox.cpp:
8944         * data/themes/default/combobox_bg.png:
8945         * data/themes/default/combobox_arrow_selected.png:
8946         - combobox now updates when incremented or decrementing.
8947         - draw combo box with styled border, change arrow when pressed
8949 2008-02-28      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
8951         * src/core/plugin.cpp:
8952         warn if LMMS-plugin does not have required <libname>_plugin_descriptor
8953         field
8955 2008-02-28      Paul Giblock <drfaygo/at/gmail/dot/com>
8957         * plugins/sf2_player:
8958         * plugins/sf2_player/patches_dialog.ui:
8959         * plugins/sf2_player/logo.png:
8960         * plugins/sf2_player/patches_dialog.cpp:
8961         * plugins/sf2_player/sf2_player.cpp:
8962         * plugins/sf2_player/Makefile.am:
8963         * plugins/sf2_player/artwork.png:
8964         * plugins/sf2_player/patches_dialog.h:
8965         * plugins/sf2_player/sf2_player.h:
8966         * plugins/Makefile.am:
8967         * configure.in:
8968         added beta of SoundFont player
8970 2008-02-28      Danny McRae <khjklujn/at/yahoo/dot/com>
8972         * plugins/stk/Makefile.am:
8973         removed voices from the default build
8975 2008-02-28      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
8977         * configure.in:
8978         back in trunk - LMMS-MV is now default, so removed "mv"-suffix
8980 2008-02-27      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
8982         * plugins/ladspa_effect/caps/Compress.cc:
8983         * plugins/ladspa_effect/caps/ToneStack.cc:
8984         * plugins/ladspa_effect/caps/Compress.h:
8985         * plugins/ladspa_effect/caps/ToneStack.h:
8986         * plugins/ladspa_effect/caps/Roessler.h:
8987         * plugins/ladspa_effect/caps/HRTF.cc:
8988         * plugins/ladspa_effect/caps/HRTF.h:
8989         * plugins/ladspa_effect/caps/basics.h:
8990         * plugins/ladspa_effect/caps/Lorenz.cc:
8991         * plugins/ladspa_effect/caps/Lorenz.h:
8992         * plugins/ladspa_effect/caps/Amp.cc:
8993         * plugins/ladspa_effect/caps/Amp.h:
8994         * plugins/ladspa_effect/caps/Pan.h:
8995         * plugins/ladspa_effect/caps/Phaser.cc:
8996         * plugins/ladspa_effect/caps/White.h:
8997         * plugins/ladspa_effect/caps/Preamp.cc:
8998         * plugins/ladspa_effect/caps/Click.cc:
8999         * plugins/ladspa_effect/caps/VCO.cc:
9000         * plugins/ladspa_effect/caps/Clip.cc:
9001         * plugins/ladspa_effect/caps/Click.h:
9002         * plugins/ladspa_effect/caps/VCO.h:
9003         * plugins/ladspa_effect/caps/ToneControls.cc:
9004         * plugins/ladspa_effect/caps/Sin.cc:
9005         * plugins/ladspa_effect/caps/Clip.h:
9006         * plugins/ladspa_effect/caps/Sin.h:
9007         * plugins/ladspa_effect/caps/Scape.cc:
9008         * plugins/ladspa_effect/caps/Scape.h:
9009         * plugins/ladspa_effect/caps/Roessler.cc:
9010         * plugins/ladspa_effect/caps/interface.cc:
9011         * plugins/ladspa_effect/caps/waves/click.h:
9012         * plugins/ladspa_effect/caps/waves/money.h:
9013         * plugins/ladspa_effect/caps/dsp/ToneStack.h:
9014         * plugins/ladspa_effect/caps/dsp/LatFilt.h:
9015         * plugins/ladspa_effect/caps/dsp/TDFII.h:
9016         * plugins/ladspa_effect/caps/dsp/RMS.h:
9017         * plugins/ladspa_effect/caps/dsp/OnePole.h:
9018         * plugins/ladspa_effect/caps/dsp/tonestack/tables.h:
9019         * plugins/ladspa_effect/caps/dsp/tonestack/vs_tab.h:
9020         * plugins/ladspa_effect/caps/dsp/tonestack/ks_tab.h:
9021         * plugins/ladspa_effect/caps/dsp/Eq.h:
9022         * plugins/ladspa_effect/caps/dsp/BiQuad.h:
9023         * plugins/ladspa_effect/caps/dsp/util.h:
9024         * plugins/ladspa_effect/caps/dsp/FPTruncateMode.h:
9025         * plugins/ladspa_effect/caps/dsp/TwelveAX7.h:
9026         * plugins/ladspa_effect/caps/Chorus.cc:
9027         * plugins/ladspa_effect/caps/Cabinet.cc:
9028         * plugins/ladspa_effect/caps/Chorus.h:
9029         * plugins/ladspa_effect/caps/Eq.cc:
9030         * plugins/ladspa_effect/caps/Cabinet.h:
9031         * plugins/ladspa_effect/caps/Eq.h:
9032         * plugins/ladspa_effect/caps/README:
9033         * plugins/ladspa_effect/caps/Pan.cc:
9034         * plugins/ladspa_effect/caps/SweepVF.cc:
9035         * plugins/ladspa_effect/caps/Descriptor.h:
9036         * plugins/ladspa_effect/caps/White.cc:
9037         * plugins/ladspa_effect/caps/SweepVF.h:
9038         * plugins/ladspa_effect/caps/Phaser.h:
9039         * plugins/ladspa_effect/caps/Reverb.cc:
9040         * plugins/ladspa_effect/caps/Makefile.am:
9041         * plugins/ladspa_effect/caps/Reverb.h:
9042         integrated new version of CAPS and fixed miscompilation with GCC 4.3
9044         * include/audio_port.h:
9045         * src/audio/audio_port.cpp:
9046         * src/core/mixer.cpp:
9047         lock audioPort-buffers before writing them
9049         * include/export_project_dialog.h:
9050         * src/core/song.cpp:
9051         * src/core/main.cpp:
9052         * src/core/export_project_dialog.cpp:
9053         * src/core/engine.cpp:
9054         * src/core/automation_pattern.cpp:
9055         rendering from commandline is now done without creating main-window
9056         and all the other UI-stuff
9058         * include/mixer.h:
9059         * src/core/mixer.cpp:
9060         distribute whole job-queue instead of single jobs and re-assign
9061         unprocessed jobs to idle worker-threads - improves multi-threading
9062         behaviour a lot
9064 2008-02-26      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
9066         * include/mixer.h:
9067         * src/core/mixer.cpp:
9068         initial support for parallel rendering via worker-threads - far from
9069         being perfect (especially with small mixer-period-sizes) but seems to
9070         help even on a DualCore machine
9072 2008-02-25      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
9074         * plugins/ladspa_browser/ladspa_browser.cpp:
9075         * plugins/ladspa_browser/ladspa_browser.h:
9076         incorporated recent API-changes
9078         * include/effect.h:
9079         * include/instrument_functions.h:
9080         * include/envelope_and_lfo_parameters.h:
9081         * include/tempo_sync_knob.h:
9082         * src/widgets/envelope_and_lfo_view.cpp:
9083         * src/widgets/tempo_sync_knob.cpp:
9084         * src/core/envelope_and_lfo_parameters.cpp:
9085         * src/core/effect.cpp:
9086         * src/core/instrument_functions.cpp:
9087         splitted tempoSyncKnob into tempoSyncKnobModel and tempoSyncKnob
9089         * include/meter_dialog.h:
9090         * src/core/meter_dialog.cpp:
9091         splitted into meterModel and meterDialog
9093         * plugins/flp_import/flp_import.cpp:
9094         * include/instrument_track.h:
9095         * include/piano.h:
9096         * src/tracks/instrument_track.cpp:
9097         * src/core/piano_roll.cpp:
9098         * src/core/piano.cpp:
9099         * Makefile.am:
9100         renamed piano_widget.{h,cpp} to piano.{h,cpp}
9102         * include/instrument_view.h:
9103         * include/instrument_track.h:
9104         * src/widgets/instrument_function_views.cpp:
9105         * src/widgets/group_box.cpp:
9106         * src/widgets/automatable_button.cpp:
9107         * src/tracks/instrument_track.cpp:
9108         fixed various crashes when removing instrument-track with visible
9109         instrument-track-window or loading another instrument/preset
9111         * src/core/instrument.cpp:
9112         * include/oscillator.h:
9113         cleanups
9115         * src/lib/mmp.cpp:
9116         fixed tag-renaming-loops
9118         * include/automatable_model_templates.h:
9119         instantiate automation-pattern before loading settings of it - fixes
9120         crashes when loading projects with automation inside
9122         * include/instrument_track.h:
9123         * src/tracks/instrument_track.cpp:
9124         track-window-creation on-demand - makes loading/unloading projects
9125         ultra-fast!!
9127         * plugins/triple_oscillator/triple_oscillator.cpp:
9128         fixed wrong index for saving/restoring modulation-algo-settings -
9129         now projects sound like they did in pre-MV
9131         * include/automation_editor.h:
9132         * include/combobox.h:
9133         * src/core/song.cpp:
9134         * src/core/piano_roll.cpp:
9135         * src/core/track.cpp:
9136         * src/core/automation_editor.cpp:
9137         fixed zooming-comboboxes in automation-editor and header-dependencies
9139         * src/widgets/combobox.cpp:
9140         update() after wheelEvent
9142         * include/tool.h:
9143         * src/core/tool.cpp:
9144         * plugins/live_tool/live_tool.h:
9145         * plugins/live_tool/live_tool.cpp:
9146         made live-tool work after M/V-split
9148         * include/track.h:
9149         * src/core/track.cpp:
9150         - connect track's m_mutedModel to m_muteBtn of trackOperationsWidget
9151         - set track for m_mutedModel
9153 2008-02-24      Paul Giblock <pgllama/at/gmail/dot/com>
9155         * plugins/bit_invader/bit_invader.cpp:
9156         * plugins/bit_invader/bit_invader.h:
9157         * plugins/bit_invader/Makefile.am:
9158         M/V-split of Bit Invader instrument.
9160         * plugins/vibed/nine_button_selector.cpp:
9161         Removed debug output
9163         * src/widgets/graph.cpp:
9164         * include/graph.h:
9165         Fixed some graph issues.  Still more left to do
9167 2008-02-22      Paul Giblock <pgllama/at/gmail/dot/com>
9169         * plugins/vibed/vibed.cpp:
9170         * plugins/vibed/vibed.h:
9171         * plugins/vibed/string_container.cpp:
9172         * plugins/vibed/string_container.h:
9173         * plugins/vibed/nine_button_selector.cpp:
9174         * plugins/vibed/nine_button_selector.h:
9175         * plugins/vibed/Makefile.am:
9176         M/V-split of Vibed-instrument.  Lacks user-specified wave, to be added on
9177         my next commit. Also has an audio output bug, certain notes make weird
9178         noises
9180         * plugins/stereo_enhancer/stereoenhancer_controls.cpp:
9181         * plugins/stereo_enhancer/stereoenhancer_controls.h:
9182         * plugins/stereo_enhancer/stereo_enhancer.cpp:
9183         * plugins/stereo_enhancer/stereo_enhancer.h:
9184         * plugins/stereo_enhancer/stereoenhancer_control_dialog.cpp:
9185         * plugins/stereo_enhancer/stereoenhancer_control_dialog.h:
9186         * plugins/stereo_enhancer/Makefile.am:
9187         M/V-split of Stereo-enhancer effect.  
9189         * src/core/piano_roll.cpp:
9190         Changed quantization to change on the gridlines, instead of nearest-point
9191         in the middle.  Made this change here, because MIDI events should still be
9192         quantized to nearest-point (I think)
9194         * src/widgets/graph.cpp:
9195         * include/graph.h:
9196         * Makefile.am:
9197         Split graph and moved it to the shared widgets.  Supports variable ranges,
9198         sample-lengths, smoothing, normalizing, and is antialiased
9200 2008-02-18      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
9202         * plugins/ladspa_effect/ladspa_subplugin_features.h:
9203         * plugins/ladspa_effect/ladspa_subplugin_features.cpp:
9204         * plugins/vst_effect/vst_control_dialog.h:
9205         * plugins/audio_file_processor/audio_file_processor.cpp:
9206         * plugins/audio_file_processor/audio_file_processor.h:
9207         * include/plugin.h:
9208         * include/audio_file_device.h:
9209         * include/export.h:
9210         * include/export_project_dialog.h:
9211         * src/core/song.cpp:
9212         * src/core/export_project_dialog.cpp:
9213         coding-style improvements
9215         * src/core/main_window.cpp:
9216         made song-export work again
9218         * plugins/patman/patman.cpp:
9219         * plugins/patman/patman.h:
9220         M/V-split of Patman-instrument
9222 2008-02-18      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
9224         * plugins/flp_import/flp_import.h:
9225         * plugins/flp_import/flp_import.cpp:
9226         * plugins/midi_import/midi_import.h:
9227         * plugins/midi_import/midi_import.cpp:
9228         * include/instrument_functions.h:
9229         * include/song.h:
9230         * include/envelope_and_lfo_parameters.h:
9231         * include/instrument_sound_shaping.h:
9232         made MIDI- and FLP-import-filter work
9234 2008-02-15      Paul Giblock <drfaygo/at/gmail/dot/net>
9236         * plugins/plucked_string_synth/plucked_string_synth.cpp:
9237         * plugins/plucked_string_synth/plucked_string_synth.h:
9238         * plugins/organic/organic.cpp:
9239         * plugins/organic/organic.h:
9241         Updated some instruments for M/V. Unfortunately one is an old version
9242         and the other is obsoleted
9244 2008-02-16      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
9246         * plugins/ladspa_effect/ladspa_controls.cpp:
9247         * plugins/audio_file_processor/audio_file_processor.cpp:
9248         * plugins/stk/Makefile.am:
9249         * include/mmp.h:
9250         * include/instrument_midi_io_view.h:
9251         * include/track.h:
9252         * include/engine.h:
9253         * include/name_label.h:
9254         * include/instrument_track.h:
9255         * include/instrument_functions.h:
9256         * include/piano_widget.h:
9257         * include/song.h:
9258         * include/pattern.h:
9259         * include/file_browser.h:
9260         * include/envelope_and_lfo_parameters.h:
9261         * include/envelope_and_lfo_view.h:
9262         * include/instrument_sound_shaping.h:
9263         * include/instrument_function_views.h:
9264         * include/instrument_midi_io.h:
9265         * include/bb_track.h:
9266         * include/song_editor.h:
9267         * include/dummy_instrument.h:
9268         * include/journalling_object.h:
9269         * include/sample_track.h:
9270         * include/timeline.h:
9271         * include/main_window.h:
9272         * include/mv_base.h:
9273         * include/bb_editor.h:
9274         * include/arp_and_chords_tab_widget.h:
9275         * include/automation_track.h:
9276         * include/track_container.h:
9277         * include/instrument_sound_shaping_view.h:
9278         * configure.in:
9279         * src/midi/midi_alsa_seq.cpp:
9280         * src/lib/project_journal.cpp:
9281         * src/lib/mmp.cpp:
9282         * src/lib/journalling_object.cpp:
9283         * src/widgets/instrument_sound_shaping_view.cpp:
9284         * src/widgets/envelope_and_lfo_view.cpp:
9285         * src/widgets/instrument_function_views.cpp:
9286         * src/widgets/instrument_midi_io_view.cpp:
9287         * src/widgets/project_notes.cpp:
9288         * src/widgets/effect_rack_view.cpp:
9289         * src/widgets/automatable_button.cpp:
9290         * src/widgets/tempo_sync_knob.cpp:
9291         * src/tracks/automation_track.cpp:
9292         * src/tracks/sample_track.cpp:
9293         * src/tracks/bb_track.cpp:
9294         * src/tracks/instrument_track.cpp:
9295         * src/tracks/pattern.cpp:
9296         * src/core/arp_and_chords_tab_widget.cpp:
9297         * src/core/preset_preview_play_handle.cpp:
9298         * src/core/note_play_handle.cpp:
9299         * src/core/track_container.cpp:
9300         * src/core/song.cpp:
9301         * src/core/import_filter.cpp:
9302         * src/core/file_browser.cpp:
9303         * src/core/envelope_and_lfo_parameters.cpp:
9304         * src/core/mixer.cpp:
9305         * src/core/main.cpp:
9306         * src/core/export_project_dialog.cpp:
9307         * src/core/instrument_sound_shaping.cpp:
9308         * src/core/piano_roll.cpp:
9309         * src/core/instrument_functions.cpp:
9310         * src/core/instrument_midi_io.cpp:
9311         * src/core/track.cpp:
9312         * src/core/engine.cpp:
9313         * src/core/timeline.cpp:
9314         * src/core/instrument.cpp:
9315         * src/core/piano_widget.cpp:
9316         * src/core/main_window.cpp:
9317         * src/core/song_editor.cpp:
9318         * src/core/mv_base.cpp:
9319         * src/core/automation_pattern.cpp:
9320         * src/core/name_label.cpp:
9321         * src/core/automation_editor.cpp:
9322         * src/core/bb_editor.cpp:
9323         * Makefile.am:
9324         finally splitted rest of LMMS, i.e. tracks, track-containers,
9325         track-content-objects, whole instrument-track/instrument-track-window
9326         and so on - still a bit unstable but I'm sure we'll manage to get this
9327         one very stable!
9329         diffstat says:
9330             79 files changed, 8019 insertions(+), 6226 deletions(-)
9332 2008-02-01      Danny McRae <khjklujn/at/yahoo/dot/com>
9334         * Makefile.am:
9335         * src/tracks/instrument_track.cpp:
9336         * src/core/note_play_handle.cpp:
9337         * src/core/envelope_and_lfo_parameters.cpp:
9338         * src/core/mixer.cpp:
9339         * src/core/instrument_sound_shaping.cpp:
9340         * src/core/instrument_midi_io.cpp:
9341         * src/core/song_editor.cpp:
9342         Some of the files have been renamed, so I updated the
9343         include references to get the build to work again.
9345         * include/basic_filters.h:
9346         Added the ability to clear the filter taps to support
9347         a LPF where the threshold is set by the velocity of
9348         the note.
9350         * configure.in:
9351         * plugins/stk/voices/resonate/resonate_processor.h:
9352         * plugins/stk/voices/voices/resonate/resonate_instrument.h:
9353         * plugins/stk/voices/voices/resonate/resonate_model.cpp:
9354         * plugins/stk/voices/voices/resonate/resonate_instrument_view.cpp:
9355         * plugins/stk/voices/voices/resonate/artwork.png:
9356         * plugins/stk/voices/voices/resonate/resonate_processor.cpp:
9357         * plugins/stk/voices/voices/resonate/resonate_instrument_view.h:
9358         * plugins/stk/voices/voices/resonate/resonate_instrument.cpp:
9359         * plugins/stk/voices/voices/resonate/logo.png:
9360         * plugins/stk/voices/voices/resonate/resonate_model.h:
9361         * plugins/stk/voices/voices/resonate/Makefile.am:
9362         * plugins/stk/voices/voices/flute/artwork.png:
9363         * plugins/stk/voices/voices/flute/flute_processor.cpp:
9364         * plugins/stk/voices/voices/flute/flute_instrument_view.h:
9365         * plugins/stk/voices/voices/flute/flute_model.h:
9366         * plugins/stk/voices/voices/flute/flute_processor.h:
9367         * plugins/stk/voices/voices/flute/flute_model.cpp:
9368         * plugins/stk/voices/voices/flute/logo.png:
9369         * plugins/stk/voices/voices/flute/flute_instrument.h:
9370         * plugins/stk/voices/voices/flute/Makefile.am:
9371         * plugins/stk/voices/voices/flute/flute_instrument_view.cpp:
9372         * plugins/stk/voices/voices/flute/flute_instrument.cpp:
9373         * plugins/stk/voices/voices/metal/metal_processor.h:
9374         * plugins/stk/voices/voices/metal/metal_instrument.cpp:
9375         * plugins/stk/voices/voices/metal/metal_processor.cpp:
9376         * plugins/stk/voices/voices/metal/artwork.png:
9377         * plugins/stk/voices/voices/metal/metal_instrument_view.cpp:
9378         * plugins/stk/voices/voices/metal/metal_instrument.h:
9379         * plugins/stk/voices/voices/metal/logo.png:
9380         * plugins/stk/voices/voices/metal/metal_instrument_view.h:
9381         * plugins/stk/voices/voices/metal/metal_model.cpp:
9382         * plugins/stk/voices/voices/metal/Makefile.am:
9383         * plugins/stk/voices/voices/metal/metal_model.h:
9384         * plugins/stk/voices/voices/fmvoices/fmvoices_instrument.cpp:
9385         * plugins/stk/voices/voices/fmvoices/fmvoices_processor.h:
9386         * plugins/stk/voices/voices/fmvoices/fmvoices_instrument.h:
9387         * plugins/stk/voices/voices/fmvoices/artwork.png:
9388         * plugins/stk/voices/voices/fmvoices/fmvoices_instrument_view.h:
9389         * plugins/stk/voices/voices/fmvoices/fmvoices_instrument_view.cpp:
9390         * plugins/stk/voices/voices/fmvoices/logo.png:
9391         * plugins/stk/voices/voices/fmvoices/fmvoices_processor.cpp:
9392         * plugins/stk/voices/voices/fmvoices/fmvoices_model.cpp:
9393         * plugins/stk/voices/voices/fmvoices/fmvoices_model.h:
9394         * plugins/stk/voices/voices/fmvoices/Makefile.am:
9395         * plugins/stk/voices/voices/moog/moog_instrument_view.h:
9396         * plugins/stk/voices/voices/moog/moog_instrument_view.cpp:
9397         * plugins/stk/voices/voices/moog/moog_model.cpp:
9398         * plugins/stk/voices/voices/moog/moog_processor.h:
9399         * plugins/stk/voices/voices/moog/artwork.png:
9400         * plugins/stk/voices/voices/moog/logo.png:
9401         * plugins/stk/voices/voices/moog/moog_model.h:
9402         * plugins/stk/voices/voices/moog/moog_instrument.h:
9403         * plugins/stk/voices/voices/moog/moog_instrument.cpp:
9404         * plugins/stk/voices/voices/moog/moog_processor.cpp:
9405         * plugins/stk/voices/voices/moog/Makefile.am:
9406         * plugins/stk/voices/voices/include/stk_instrument_view.h:
9407         * plugins/stk/voices/voices/include/stk_voice.h:
9408         * plugins/stk/voices/voices/include/stk_instrument.h:
9409         * plugins/stk/voices/voices/include/stk_model.h:
9410         * plugins/stk/voices/voices/include/stk_processor.h:
9411         * plugins/stk/voices/voices/wurley/wurley_instrument.h:
9412         * plugins/stk/voices/voices/wurley/wurley_instrument_view.cpp:
9413         * plugins/stk/voices/voices/wurley/wurley_model.cpp:
9414         * plugins/stk/voices/voices/wurley/wurley_instrument_view.h:
9415         * plugins/stk/voices/voices/wurley/wurley_model.h:
9416         * plugins/stk/voices/voices/wurley/artwork.png:
9417         * plugins/stk/voices/voices/wurley/wurley_processor.h:
9418         * plugins/stk/voices/voices/wurley/logo.png:
9419         * plugins/stk/voices/voices/wurley/Makefile.am:
9420         * plugins/stk/voices/voices/wurley/wurley_processor.cpp:
9421         * plugins/stk/voices/voices/wurley/wurley_instrument.cpp:
9422         * plugins/stk/voices/voices/bowed/bowed_instrument.cpp:
9423         * plugins/stk/voices/voices/bowed/bowed_model.cpp:
9424         * plugins/stk/voices/voices/bowed/bowed_instrument_view.cpp:
9425         * plugins/stk/voices/voices/bowed/bowed_model.h:
9426         * plugins/stk/voices/voices/bowed/bowed_processor.h:
9427         * plugins/stk/voices/voices/bowed/artwork.png:
9428         * plugins/stk/voices/voices/bowed/bowed_processor.cpp:
9429         * plugins/stk/voices/voices/bowed/logo.png:
9430         * plugins/stk/voices/voices/bowed/bowed_instrument_view.h:
9431         * plugins/stk/voices/voices/bowed/Makefile.am:
9432         * plugins/stk/voices/voices/bowed/bowed_instrument.h:
9433         * plugins/stk/voices/voices/blow_hole/blow_hole_instrument.cpp:
9434         * plugins/stk/voices/voices/blow_hole/blow_hole_instrument_view.cpp:
9435         * plugins/stk/voices/voices/blow_hole/artwork.png:
9436         * plugins/stk/voices/voices/blow_hole/blow_hole_model.h:
9437         * plugins/stk/voices/voices/blow_hole/blow_hole_processor.h:
9438         * plugins/stk/voices/voices/blow_hole/logo.png:
9439         * plugins/stk/voices/voices/blow_hole/blow_hole_processor.cpp:
9440         * plugins/stk/voices/voices/blow_hole/blow_hole_instrument_view.h:
9441         * plugins/stk/voices/voices/blow_hole/blow_hole_model.cpp:
9442         * plugins/stk/voices/voices/blow_hole/Makefile.am:
9443         * plugins/stk/voices/voices/blow_hole/blow_hole_instrument.h:
9444         * plugins/stk/voices/voices/rhodey/rhodey_instrument_view.h:
9445         * plugins/stk/voices/voices/rhodey/rhodey_processor.h:
9446         * plugins/stk/voices/voices/rhodey/rhodey_processor.cpp:
9447         * plugins/stk/voices/voices/rhodey/rhodey_instrument_view.cpp:
9448         * plugins/stk/voices/voices/rhodey/artwork.png:
9449         * plugins/stk/voices/voices/rhodey/rhodey_model.cpp:
9450         * plugins/stk/voices/voices/rhodey/rhodey_model.h:
9451         * plugins/stk/voices/voices/rhodey/rhodey_instrument.h:
9452         * plugins/stk/voices/voices/rhodey/logo.png:
9453         * plugins/stk/voices/voices/rhodey/rhodey_instrument.cpp:
9454         * plugins/stk/voices/voices/rhodey/Makefile.am:
9455         * plugins/stk/voices/voices/tubebell/tubebell_processor.cpp:
9456         * plugins/stk/voices/voices/tubebell/tubebell_instrument_view.h:
9457         * plugins/stk/voices/voices/tubebell/artwork.png:
9458         * plugins/stk/voices/voices/tubebell/tubebell_instrument.h:
9459         * plugins/stk/voices/voices/tubebell/tubebell_instrument.cpp:
9460         * plugins/stk/voices/voices/tubebell/tubebell_model.h:
9461         * plugins/stk/voices/voices/tubebell/logo.png:
9462         * plugins/stk/voices/voices/tubebell/tubebell_model.cpp:
9463         * plugins/stk/voices/voices/tubebell/tubebell_instrument_view.cpp:
9464         * plugins/stk/voices/voices/tubebell/Makefile.am:
9465         * plugins/stk/voices/voices/tubebell/tubebell_processor.h:
9466         * plugins/stk/voices/voices/clarinet/clarinet_instrument.cpp:
9467         * plugins/stk/voices/voices/clarinet/artwork.png:
9468         * plugins/stk/voices/voices/clarinet/clarinet_processor.h:
9469         * plugins/stk/voices/voices/clarinet/clarinet_processor.cpp:
9470         * plugins/stk/voices/voices/clarinet/clarinet_instrument.h:
9471         * plugins/stk/voices/voices/clarinet/clarinet_model.cpp:
9472         * plugins/stk/voices/voices/clarinet/logo.png:
9473         * plugins/stk/voices/voices/clarinet/clarinet_instrument_view.cpp:
9474         * plugins/stk/voices/voices/clarinet/clarinet_model.h:
9475         * plugins/stk/voices/voices/clarinet/Makefile.am:
9476         * plugins/stk/voices/voices/clarinet/clarinet_instrument_view.h:
9477         * plugins/stk/voices/voices/b3/b3_instrument.cpp:
9478         * plugins/stk/voices/voices/b3/b3_model.h:
9479         * plugins/stk/voices/voices/b3/b3_model.cpp:
9480         * plugins/stk/voices/voices/b3/artwork.png:
9481         * plugins/stk/voices/voices/b3/b3_instrument_view.h:
9482         * plugins/stk/voices/voices/b3/logo.png:
9483         * plugins/stk/voices/voices/b3/b3_processor.h:
9484         * plugins/stk/voices/voices/b3/b3_instrument_view.cpp:
9485         * plugins/stk/voices/voices/b3/b3_instrument.h:
9486         * plugins/stk/voices/voices/b3/b3_processor.cpp:
9487         * plugins/stk/voices/voices/b3/Makefile.am:
9488         * plugins/stk/voices/voices/src/stk_model.cpp:
9489         * plugins/stk/voices/voices/percflute/percflute_instrument.h:
9490         * plugins/stk/voices/voices/percflute/percflute_model.h:
9491         * plugins/stk/voices/voices/percflute/percflute_instrument_view.h:
9492         * plugins/stk/voices/voices/percflute/percflute_processor.cpp:
9493         * plugins/stk/voices/voices/percflute/percflute_processor.h:
9494         * plugins/stk/voices/voices/percflute/artwork.png:
9495         * plugins/stk/voices/voices/percflute/percflute_instrument_view.cpp:
9496         * plugins/stk/voices/voices/percflute/percflute_instrument.cpp:
9497         * plugins/stk/voices/voices/percflute/logo.png:
9498         * plugins/stk/voices/voices/percflute/percflute_model.cpp:
9499         * plugins/stk/voices/voices/percflute/Makefile.am:
9500         * plugins/stk/voices/voices/blow_bottle/blow_bottle_processor.cpp:
9501         * plugins/stk/voices/voices/blow_bottle/blow_bottle_model.h:
9502         * plugins/stk/voices/voices/blow_bottle/blow_bottle_model.cpp:
9503         * plugins/stk/voices/voices/blow_bottle/artwork.png:
9504         * plugins/stk/voices/voices/blow_bottle/blow_bottle_processor.h:
9505         * plugins/stk/voices/voices/blow_bottle/blow_bottle_instrument.h:
9506         * plugins/stk/voices/voices/blow_bottle/blow_bottle_instrument_view.cpp:
9507         * plugins/stk/voices/voices/blow_bottle/logo.png:
9508         * plugins/stk/voices/voices/blow_bottle/blow_bottle_instrument_view.h:
9509         * plugins/stk/voices/voices/blow_bottle/blow_bottle_instrument.cpp:
9510         * plugins/stk/voices/voices/blow_bottle/Makefile.am:
9511         * plugins/stk/voices/voices/Makefile.am:
9512         * plugins/stk/voices/voices/brass/brass_instrument_view.h:
9513         * plugins/stk/voices/voices/brass/brass_instrument.cpp:
9514         * plugins/stk/voices/voices/brass/brass_processor.h:
9515         * plugins/stk/voices/voices/brass/brass_processor.cpp:
9516         * plugins/stk/voices/voices/brass/brass_instrument_view.cpp:
9517         * plugins/stk/voices/voices/brass/artwork.png:
9518         * plugins/stk/voices/voices/brass/brass_instrument.h:
9519         * plugins/stk/voices/voices/brass/logo.png:
9520         * plugins/stk/voices/voices/brass/brass_model.cpp:
9521         * plugins/stk/voices/voices/brass/brass_model.h:
9522         * plugins/stk/voices/voices/brass/Makefile.am:
9523         * plugins/stk/voices/voices/bandedwg/bandedwg_processor.h:
9524         * plugins/stk/voices/voices/bandedwg/bandedwg_instrument_view.h:
9525         * plugins/stk/voices/voices/bandedwg/bandedwg_processor.cpp:
9526         * plugins/stk/voices/voices/bandedwg/artwork.png:
9527         * plugins/stk/voices/voices/bandedwg/bandedwg_model.h:
9528         * plugins/stk/voices/voices/bandedwg/bandedwg_instrument.h:
9529         * plugins/stk/voices/voices/bandedwg/bandedwg_instrument.cpp:
9530         * plugins/stk/voices/voices/bandedwg/bandedwg_instrument_view.cpp:
9531         * plugins/stk/voices/voices/bandedwg/logo.png:
9532         * plugins/stk/voices/voices/bandedwg/bandedwg_model.cpp:
9533         * plugins/stk/voices/voices/bandedwg/Makefile.am:
9534         Started working on a multitimbral instrument that uses all of the
9535         voices available in STK.  Need to work out the differences in
9536         level among the voices and figure out what the controls actually
9537         do.  Simplist way to do that was to build them as individual
9538         instruments first.  The models, views, and processors should be
9539         reusable for the larger instrument.  Except for bandedwg and
9540         flute they all work, so if you're curious, add "voices" to the 
9541         Makefile.am in plugins/stk to get them to build.
9542         
9543 2007-01-30      Paul Giblock <pgllama/at/gmail/dot/com>
9545         * plugins/organic/organic.cpp:
9546         * plugins/organic/organic.h:
9547         Began split on Organic. But doesn't show in instrument list
9549         * plugins/lb302/lb302.cpp:
9550         Fixed comments
9552 2008-01-28      Paul Giblock <pgllama/at/gmail/dot/com>
9554         * plugins/lb302/lb302.cpp:
9555         * plugins/lb302/lb302.h:
9556         finished LB302 M/V-split. however, more changes can be made to meet
9557         the coding guidelines.  Let's save this job for LB303
9559         * include/automatable_model.h:
9560         cleaned up code for boolModel
9562 2008-01-26      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
9564         * src/widgets/automatable_button.cpp:
9565         - call updateButtons() after model-change
9566         - use model()->value() rather than value()
9568         * plugins/triple_oscillator/triple_oscillator.cpp:
9569         fixed upper boundaries for wave-shape- and modulation-algo-models
9571 2008-01-26      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
9573         * plugins/triple_oscillator/triple_oscillator.h:
9574         * plugins/triple_oscillator/triple_oscillator.cpp:
9575         initial M/V-split - lots of debugging and cleanups pending, however
9576         basically works :)
9578         * include/transformable_auto_model.h:
9579         added transformableAutoModel-class which is not used yet but might be
9580         helpful in some cases in the future
9582         * include/oscillator.h:
9583         * src/lib/oscillator.cpp:
9584         - changed coding-style for enum-constants
9585         - use model for external wave-shape- and modulation-algo-parameter
9587         * src/widgets/ladspa_control_view.cpp:
9588         added missing header
9590         * src/widgets/automatable_button.cpp:
9591         update buttons after changing button-group's value
9593 2008-01-24      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
9595         * include/types.h:
9596         replaced own buggy valueRanges-calculations by numeric_limits-class
9598         * plugins/lb302/lb302.cpp:
9599         fixed broken plugin-entry-point
9601         * configure.in:
9602         * plugins/bass_booster/bass_booster.cpp:
9603         * plugins/bass_booster/bassbooster_controls.cpp:
9604         * plugins/stk/mallets/mallets.cpp:
9605         * include/automatable_model.h:
9606         * include/journalling_object.h:
9607         * src/audio/audio_file_device.cpp:
9608         * src/audio/audio_alsa.cpp:
9609         * src/audio/audio_oss.cpp:
9610         * src/audio/audio_port.cpp:
9611         * src/audio/audio_jack.cpp:
9612         * src/midi/midi_alsa_seq.cpp:
9613         * src/lib/project_journal.cpp:
9614         * src/lib/mmp.cpp:
9615         * src/lib/drumsynth.cpp:
9616         * src/widgets/group_box.cpp:
9617         * src/tracks/instrument_track.cpp:
9618         * src/core/effect_chain.cpp:
9619         * src/core/preset_preview_play_handle.cpp:
9620         * src/core/effect_control_dialog.cpp:
9621         * src/core/setup_dialog.cpp:
9622         * src/core/main.cpp:
9623         * src/core/mixer.cpp:
9624         * src/core/effect.cpp:
9625         * src/core/timeline.cpp:
9626         * src/core/effect_select_dialog.cpp:
9627         * src/core/automation_editor.cpp:
9628         * src/core/meter_dialog.cpp:
9629         various fixes for GCC 4.3
9631         * README:
9632         cleanups / fixes
9634         * include/automatable_model.h:
9635         cleanups / coding-style fixes
9637 2008-01-24      Paul Giblock <pgllama/at/gmail/dot/dotcom>
9639         * include/automatable_model.h:
9640         * src/widgets/knob.cpp:
9641         * src/core/arp_and_chords_tab_widget.cpp:
9642         * src/core/effect.cpp:
9643         * src/core/ladspa_control.cpp:
9644         * src/core/envelope_tab_widget.cpp:
9645         * plugins/audio_file_processor/audio_file_processor.cpp:
9646         add boolModel subclass in order to simplify the constructor
9648         * plugins/lb302/lb302.cpp:
9649         * plugins/lb302/lb302.h:
9650         split lb302 for M/V.  However, lmms_plugin_main() receives null data,
9651         which means the instrumentTrack cannot be set..
9653 2008-01-18      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
9655         * src/core/effect_chain.cpp:
9656         * src/lib/mmp.cpp:
9657         added upgrade-path in order to properly load projects not using the
9658         new effect-data-structure
9660         * plugins/bass_booster/bass_booster.h:
9661         * plugins/ladspa_effect/ladspa_effect.h:
9662         * plugins/vst_effect/vst_effect.h:
9663         removed nodeName()-function as effects must not overload it (they have
9664         descriptors with they unique name in it)
9666         * include/effect_rack_view.h:
9667         * src/widgets/effect_rack_view.cpp:
9668         renamed updateView() to update() in order to also track
9669         dataChanged()-signals of model without an additional connection
9671         * src/widgets/combobox.cpp:
9672         fixed painting
9674         * src/widgets/ladspa_control_view.cpp:
9675         * plugins/ladspa_effect/ladspa_control_dialog.cpp:
9676         made control-layouting work again (did not work at all after Qt4-port)
9678         * src/core/ladspa_control.cpp:
9679         added initialization for m_link-member-variable, optimized
9680         linkEnabledModel-initialization
9682         * src/widgets/knob.cpp:
9683         * plugins/ladspa_effect/ladspa_controls.cpp:
9684         coding style fixes
9686         * Makefile.am:
9687         moved ladspa_control_view.cpp to src/widgets/
9689 2008-01-17      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
9691         * plugins/ladspa_effect/Makefile.am:
9692         * plugins/ladspa_effect/ladspa_effect.h:
9693         * plugins/ladspa_effect/ladspa_effect.cpp:
9694         * plugins/ladspa_effect/ladspa_controls.h:
9695         * plugins/ladspa_effect/ladspa_controls.cpp:
9696         * plugins/ladspa_effect/ladspa_control_dialog.h:
9697         * plugins/ladspa_effect/ladspa_control_dialog.cpp:
9698         made work again after all the changes in the last days...
9700         * Makefile.am:
9701         * include/ladspa_control.h:
9702         * include/ladspa_control_view.h:
9703         * src/core/ladspa_control.cpp:
9704         * src/core/ladspa_control_view.cpp:
9705         splitted ladspaControl-class into ladspaControl and ladspaControlView
9707 2008-01-14      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
9709         * plugins/bass_booster/bassbooster_controls.h:
9710         * plugins/bass_booster/bass_booster.cpp:
9711         * plugins/bass_booster/bassbooster_control_dialog.cpp:
9712         * plugins/bass_booster/Makefile.am:
9713         * plugins/bass_booster/bassbooster_controls.cpp:
9714         * plugins/bass_booster/bass_booster.h:
9715         * plugins/bass_booster/bassbooster_control_dialog.h:
9716         made work with M/V as well as rewritten effect-framework
9718         * include/effect.h:
9719         * include/effect_control_dialog.h:
9720         * include/dummy_effect.h:
9721         * include/effect_controls.h:
9722         * src/widgets/effect_view.cpp:
9723         * src/core/effect_control_dialog.cpp:
9724         * src/core/effect.cpp:
9725         * Makefile.am:
9726         split off effectControlDialog into effectControlDialog and
9727         effectControls
9729         * src/core/song_editor.cpp:
9730         also connect to dataUnchanged()-signal of tempo-model in order to
9731         setup everything correct by connected slot
9733         * configure.in:
9734         - removed single-source-compile-feature
9735         - made FASTCALL-usage optional for the time being
9737         * data/locale/de.ts:
9738         * data/locale/de.qm:
9739         updated German localization
9741 2008-01-09      Paul Giblock <pgllama/at/gmail/dot/com>
9743         * acinclude.m4:
9744         use pkg-config for more accurate Qt directory detection
9746 2008-01-06      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
9748         * plugins/ladspa_effect/ladspa_effect.cpp:
9749         * plugins/ladspa_effect/ladspa_effect.h:
9750         * plugins/bass_booster/bass_booster.cpp:
9751         * plugins/bass_booster/bass_booster.h:
9752         * plugins/vst_effect/vst_effect.cpp:
9753         changes for making effects work again with new effect-framework
9755         * plugins/audio_file_processor/audio_file_processor.cpp:
9756         * plugins/audio_file_processor/audio_file_processor.h:
9757         * plugins/stk/mallets/mallets.cpp:
9758         * plugins/stk/mallets/mallets.h:
9759         * plugins/ladspa_browser/ladspa_browser.cpp:
9760         * plugins/ladspa_browser/ladspa_browser.h:
9761         * plugins/kicker/kicker.cpp:
9762         * plugins/kicker/kicker.h:
9763         * include/dummy_plugin.h:
9764         * include/instrument.h:
9765         * include/plugin.h:
9766         * include/tool.h:
9767         * include/main_window.h:
9768         * include/mv_base.h:
9769         * include/dummy_instrument.h:
9770         * src/core/plugin.cpp:
9771         * src/core/tool.cpp:
9772         * src/core/import_filter.cpp:
9773         * src/core/instrument.cpp:
9774         * src/core/surround_area.cpp:
9775         * src/core/main_window.cpp:
9776         moved createView()-functionality from instrument- to plugin-class
9778         * include/tab_widget.h:
9779         code-formatting stuff
9781         * include/audio_port.h:
9782         * include/instrument_track.h:
9783         * include/sample_track.h:
9784         * src/audio/audio_port.cpp:
9785         * src/core/sample_play_handle.cpp:
9786         * src/tracks/instrument_track.cpp:
9787         * src/tracks/sample_track.cpp:
9788         integrated new effect-framework
9790         * Makefile.am:
9791         * include/dummy_effect.h:
9792         * include/effect.h:
9793         * include/effect_chain.h:
9794         * include/effect_control_dialog.h:
9795         * include/effect_label.h:
9796         * include/effect_rack_view.h:
9797         * include/effect_select_dialog.h:
9798         * include/effect_tab_widget.h:
9799         * include/effect_view.h:
9800         * src/core/effect.cpp:
9801         * src/core/effect_chain.cpp:
9802         * src/core/effect_control_dialog.cpp:
9803         * src/core/effect_select_dialog.cpp:
9804         * src/core/effect_tab_widget.cpp:
9805         * src/widgets/effect_label.cpp:
9806         * src/widgets/effect_view.cpp:
9807         * src/widgets/effect_rack_view.cpp:
9808         rewrote view-component of effect-framework and removed effectTabWidget
9810         * include/automatable_model.h:
9811         * src/widgets/automatable_slider.cpp:
9812         * src/widgets/group_box.cpp:
9813         * src/widgets/lcd_spinbox.cpp:
9814         * src/widgets/combobox.cpp:
9815         * src/widgets/knob.cpp:
9816         * src/widgets/automatable_button.cpp:
9817         pass model-pointer to modelView-constructor
9819 2008-01-05      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
9821         * plugins/organic/organic.cpp:
9822         * plugins/bit_invader/bit_invader.cpp:
9823         * plugins/vibed/vibed.cpp:
9824         * plugins/triple_oscillator/triple_oscillator.cpp:
9825         * plugins/stk/mallets/mallets.cpp:
9826         make sure, pluginData-pointer is always initialized in playNote()
9828         * src/core/envelope_and_lfo_widget.cpp:
9829         simple range-checking
9831 2008-01-04      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
9833         * plugins/ladspa_effect/ladspa_effect.cpp:
9834         * plugins/ladspa_effect/ladspa_control_dialog.cpp:
9835         * plugins/ladspa_effect/ladspa_control_dialog.h:
9836         minor fixes in order to compile again with lately changed effect-API
9838         * src/core/effect_tab_widget.cpp:
9839         * src/lib/mmp.cpp:
9840         renabled XML-attribute "fxdisabled" to "fxenabled"
9842         * src/core/effect_tab_widget.cpp:
9843         * include/effect_tab_widget.h:
9844         made effects working again by using effect-chain's m_enabledModel as
9845         model for effect-groupbox
9847         * include/effect_chain.h:
9848         * src/core/effect_chain.cpp:
9849         * src/core/effect_tab_widget.cpp:
9850         removed bypassed-property and introduced m_enabledModel
9852         * include/effect.h:
9853         - made lot of methods const
9854         - renamed enabled() to isEnabled()
9856 2008-01-04      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
9858         * src/core/bb_editor.cpp:
9859         fix missing pattern in new projects by also tracking
9860         dataUnchanged()-signals of bbComboBoxModel
9862         * include/automatable_model_templates.h:
9863         * include/mv_base.h:
9864         added dataUnchanged()-signal which should be emitted in case new data
9865         was not set for the model because it's been equal to old data
9867 2008-01-04      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
9869         * plugins/stk/mallets/mallets.h:
9870         * plugins/stk/mallets/mallets.cpp:
9871         fixed outstanding issues with LED-checkbox and its model
9873 2008-01-04      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
9875         * include/group_box.h:
9876         * src/widgets/group_box.cpp:
9877         removed animation-functionality as it's useless
9879         * src/core/arp_and_chords_tab_widget.cpp:
9880         * src/core/envelope_tab_widget.cpp:
9881         fixed boolModel-initializations - makes filter, arpeggio and chords
9882         work again
9884 2008-01-03      Danny McRae <khjklujn/at/yahoo/dot/com>
9886         * plugins/stk/mallets/mallets.h:
9887         * plugins/stk/mallets/mallets.cpp:
9888         made plugin work with M/V-architecture
9890 2008-01-03      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
9892         * plugins/audio_file_processor/audio_file_processor.cpp:
9893         * plugins/audio_file_processor/audio_file_processor.h:
9894         made plugin work with M/V-architecture
9896         * include/engine.h:
9897         * include/plugin.h:
9898         * src/core/engine.cpp:
9899         fixes regarding coding style guidelines
9901 2008-01-02      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
9903         * plugins/kicker/kicker.cpp:
9904         * plugins/kicker/kicker.h:
9905         made plugin work with M/V-architecture
9907         * include/instrument.h:
9908         * include/dummy_instrument.h:
9909         * include/mv_base.h:
9910         * src/tracks/instrument_track.cpp:
9911         * src/core/instrument.cpp:
9912         M/V-split for instrument-tracks
9914 2008-01-02      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
9916         * include/dummy_effect.h:
9917         * src/core/effect.cpp:
9918         make dummyEffect really work in case we need it
9920 2008-01-02      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
9922         * include/knob.h:
9923         * include/effect.h:
9924         * include/automatable_slider.h:
9925         * include/lcd_spinbox.h:
9926         * include/meter_dialog.h:
9927         * include/midi_tab_widget.h:
9928         * include/instrument_track.h:
9929         * include/ladspa_control.h:
9930         * include/piano_widget.h:
9931         * include/detuning_helper.h:
9932         * include/sample_play_handle.h:
9933         * include/piano_roll.h:
9934         * include/group_box.h:
9935         * include/envelope_tab_widget.h:
9936         * include/song_editor.h:
9937         * include/automatable_button.h:
9938         * include/tempo_sync_knob.h:
9939         * include/journalling_object.h:
9940         * include/setup_dialog.h:
9941         * include/export_project_dialog.h:
9942         * include/pixmap_button.h:
9943         * include/sample_track.h:
9944         * include/surround_area.h:
9945         * include/volume_knob.h:
9946         * include/bb_editor.h:
9947         * include/rack_plugin.h:
9948         * include/arp_and_chords_tab_widget.h:
9949         * include/envelope_and_lfo_widget.h:
9950         * include/combobox.h:
9951         * include/led_checkbox.h:
9952         * configure.in:
9953         * src/audio/audio_alsa.cpp:
9954         * src/audio/audio_oss.cpp:
9955         * src/audio/audio_jack.cpp:
9956         * src/widgets/rack_plugin.cpp:
9957         * src/widgets/automatable_slider.cpp:
9958         * src/widgets/lcd_spinbox.cpp:
9959         * src/widgets/group_box.cpp:
9960         * src/widgets/combobox.cpp:
9961         * src/widgets/led_checkbox.cpp:
9962         * src/widgets/volume_knob.cpp:
9963         * src/widgets/pixmap_button.cpp:
9964         * src/widgets/knob.cpp:
9965         * src/widgets/automatable_button.cpp:
9966         * src/widgets/tempo_sync_knob.cpp:
9967         * src/tracks/sample_track.cpp:
9968         * src/tracks/instrument_track.cpp:
9969         * src/core/arp_and_chords_tab_widget.cpp:
9970         * src/core/envelope_and_lfo_widget.cpp:
9971         * src/core/preset_preview_play_handle.cpp:
9972         * src/core/note_play_handle.cpp:
9973         * src/core/midi_tab_widget.cpp:
9974         * src/core/setup_dialog.cpp:
9975         * src/core/sample_play_handle.cpp:
9976         * src/core/export_project_dialog.cpp:
9977         * src/core/effect.cpp:
9978         * src/core/piano_roll.cpp:
9979         * src/core/track.cpp:
9980         * src/core/ladspa_control.cpp:
9981         * src/core/note.cpp:
9982         * src/core/envelope_tab_widget.cpp:
9983         * src/core/instrument.cpp:
9984         * src/core/piano_widget.cpp:
9985         * src/core/surround_area.cpp:
9986         * src/core/song_editor.cpp:
9987         * src/core/automation_pattern.cpp:
9988         * src/core/effect_tab_widget.cpp:
9989         * src/core/automation_editor.cpp:
9990         * src/core/bb_editor.cpp:
9991         * src/core/meter_dialog.cpp:
9992         * Makefile.am:
9993         adaption of M/V-architecture
9995         * include/automatable_object_templates.h:
9996         * include/automatable_object.h:
9997         removed as replaced by automatable_model.h and
9998         automatable_model_templates.h
10000         * include/mv_base.h:
10001         * src/core/mv_base.cpp:
10002         * include/automatable_model.h:
10003         * include/automatable_model_templates.h:
10004         added base-files for new M/V-architecture
10006         * src/widgets/rack_plugin.cpp:
10007         fixed wrong signal-slot-connection which made gate-parameter of
10008         effects not working
10010         * src/core/track_container.cpp:
10011         when removing tracks start removing at the end of track-vector (i.e.
10012         use m_trackWidgets.last() instead of m_trackWidgets.first()) - speeds
10013         up things *a lot*
10015         * README:
10016         * src/core/about_dialog.cpp:
10017         fixed version and extended copyright from 2007 to 2008
10019 2007-12-18      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
10021         * plugins/midi_import/midi_import.cpp:
10022         load Patman-plugin instead of TripleOsc and try to load patch
10023         according to program-change-events
10025 2007-12-14      Paul Wayper <paulway/at/mabula/dot/net>
10027         * include/volume_knob.h:
10028         * src/widgets/volume_knob.cpp:
10029         * src/core/setup_dialog.cpp:
10030         * data/locale/nl.ts:
10031         * data/locale/it.ts:
10032         * data/locale/ca.ts:
10033         * data/locale/ru.ts:
10034         * data/locale/de.ts:
10035         * data/locale/sv.ts:
10036         Changed dbV to dBV throughout
10038 2007-12-12      Javier Serrano Polo <jasp00/at/terra/dot/es>
10040         * include/setup_dialog.h:
10041         * src/core/setup_dialog.cpp:
10042         - removed negative wording in general settings
10043         - removed GIMP references
10045         * data/locale/ca.ts:
10046         updated translation
10048 2007-12-11      Javier Serrano Polo <jasp00/at/terra/dot/es>
10050         * include/automation_editor.h:
10051         * include/piano_roll.h:
10052         * src/core/automation_editor.cpp:
10053         * src/core/piano_roll.cpp:
10054         optimized paint events
10056         * data/themes/default/style.css:
10057         * src/core/automation_editor.cpp:
10058         * src/core/piano_roll.cpp:
10059         use styled background
10061         * src/core/track_container.cpp:
10062         update display after loading settings
10064 2007-12-07      Javier Serrano Polo <jasp00/at/terra/dot/es>
10066         * include/main_window.h:
10067         * include/song_editor.h:
10068         * src/core/file_browser.cpp:
10069         * src/core/main_window.cpp:
10070         * src/core/song_editor.cpp:
10071         use custom modified project indicator, fixed
10073         * include/bb_editor.h:
10074         * include/song_editor.h:
10075         * include/track.h:
10076         * include/track_container.h:
10077         * src/core/bb_editor.cpp:
10078         * src/core/song_editor.cpp:
10079         * src/core/track.cpp:
10080         * src/core/track_container.cpp:
10081         * src/tracks/pattern.cpp:
10082         * src/tracks/sample_track.cpp:
10083         added layouts, fixes scrolling
10085         * include/track.h:
10086         * include/track_container.h:
10087         * src/core/bb_editor.cpp:
10088         * src/core/song_editor.cpp:
10089         * src/core/track.cpp:
10090         * src/core/track_container.cpp:
10091         * src/tracks/bb_track.cpp:
10092         associate track containers with tracks directly
10094         * src/core/track.cpp:
10095         * src/core/track_container.cpp:
10096         * src/tracks/bb_track.cpp:
10097         * src/tracks/instrument_track.cpp:
10098         * src/tracks/sample_track.cpp:
10099         simplified updateAfterTrackAdd() calls
10101         * data/themes/default/style.css:
10102         * src/core/track.cpp:
10103         use style sheet painting
10105         * include/track.h:
10106         * src/core/track.cpp:
10107         removed discouraged repaint()
10109         * include/bb_editor.h:
10110         * include/song_editor.h:
10111         * src/core/bb_editor.cpp:
10112         * src/core/song_editor.cpp:
10113         * src/widgets/project_notes.cpp:
10114         use default close event handler
10116         * src/core/bb_editor.cpp:
10117         * src/core/track.cpp:
10118         removed trivial asserts
10120         * data/locale/ca.ts:
10121         updated translation
10123 2007-11-27      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
10125         * include/plugin.h:
10126         * include/base64.h:
10127         * src/lib/base64.cpp:
10128         fixed loading of base64-encoded data being generated via Qt3-version
10129         of QDataStream-class
10131 2007-11-27      Javier Serrano Polo <jasp00/at/terra/dot/es>
10133         * include/main_window.h:
10134         * include/song_editor.h:
10135         * src/core/engine.cpp:
10136         * src/core/main_window.cpp:
10137         * src/core/song_editor.cpp:
10138         * src/lib/project_journal.cpp:
10139         added modified project indicator
10141         * include/ladspa_base.h:
10142         * include/plugin.h:
10143         * plugins/ladspa_effect/ladspa_effect.cpp:
10144         * plugins/ladspa_effect/ladspa_subplugin_features.cpp:
10145         * plugins/ladspa_effect/ladspa_subplugin_features.h:
10146         fixed invalid key segfault
10148         * src/core/main_window.cpp:
10149         fixed instrument track visual glitches when loading
10151         * include/instrument_track.h:
10152         * src/tracks/instrument_track.cpp:
10153         removed QMdiSubWindow inheritance, fixes MDI focus segfault
10155         * src/core/track_container.cpp:
10156         fixed interrupted loading segfault
10158         * plugins/ladspa_effect/ladspa_effect.cpp:
10159         * plugins/ladspa_effect/ladspa_effect.h:
10160         removed singleton reference
10162         * src/core/config_mgr.cpp:
10163         integrated mkPath() calls
10165         * plugins/ladspa_browser/ladspa_browser.cpp:
10166         centralized title change
10168         * include/song_editor.h:
10169         * src/core/song_editor.cpp:
10170         reduced dependencies
10172         * data/locale/ca.ts:
10173         updated translation
10175 2007-11-26  Paul Giblock <drfaygo/at/gmail/dot/com>
10177         * plugins/lb302/lb302.cpp:
10178         * plugins/lb302/lb302.h:
10179         reverted to old lb302. There is a bug in sound output, will look
10180         into it, but I'd rather have a working repository
10182         * data/presets/LB302/Oh Synth.cs.xml:
10183         new preset
10185 2007-11-24  Paul Giblock <drfaygo/at/gmail/dot/com>
10187         * plugins/lb302/lb302.cpp:
10188         re-enabled lb302 background
10190         * plugins/lb302/artwork.png:
10191         updated skin I had sitting around
10193 2007-11-23  Paul Giblock <drfaygo/at/gmail/dot/com>
10195         * plugins/lb302/lb302.cpp:
10196         * plugins/lb302/lb302.h:
10197         reformated code to match code style rules
10199         * src/widgets/tool_button.cpp:
10200         improved appearance of toolbar buttons
10202 2007-11-23      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
10204         * plugins/ladspa_browser/ladspa_browser.cpp:
10205         improved layout
10207         * src/widgets/tab_bar.cpp:
10208         - improved layout
10209         - change icon-size-property for tabButtons in order to make them look
10210           as in 0.3.x
10212 2007-11-23      Javier Serrano Polo <jasp00/at/terra/dot/es>
10214         * Makefile.am:
10215         * plugins/ladspa_browser/ladspa_browser.cpp:
10216         * plugins/ladspa_browser/ladspa_browser.h:
10217         * plugins/ladspa_browser/ladspa_description.cpp:
10218         * plugins/ladspa_browser/ladspa_description.h:
10219         * plugins/ladspa_browser/ladspa_port_dialog.cpp:
10220         * plugins/ladspa_browser/ladspa_port_dialog.h:
10221         * plugins/ladspa_browser/logo.png:
10222         * plugins/ladspa_browser/Makefile.am:
10223         * plugins/Makefile.am:
10224         resurrected LADSPA browser
10226         * plugins/ladspa_effect/ladspa_subplugin_features.cpp:
10227         minor simplification
10229         * src/core/song_editor.cpp:
10230         * src/widgets/automatable_slider.cpp:
10231         upgraded automatable sliders to Qt4
10233         * configure.in:
10234         * include/engine.h:
10235         * plugins/Makefile.am:
10236         * src/core/config_mgr.cpp:
10237         * src/core/engine.cpp:
10238         removed references to optional LADSPA support
10240         * data/themes/default/style.css:
10241         * src/core/main_window.cpp:
10242         moved workspace background to style sheet
10244         * src/core/main_window.cpp:
10245         added workspace scroll bars
10247         * include/track_container.h:
10248         * src/core/song_editor.cpp:
10249         removed obsolete centralWiget()
10251         * plugins/live_tool/live_tool.cpp:
10252         * plugins/live_tool/live_tool.h:
10253         fixed i18n
10255         * plugins/live_tool/live_tool.cpp:
10256         cosmetic changes
10258         * data/locale/ca.ts:
10259         updated translation
10261         * resources/*:
10262         removed unused images
10264 2007-11-22  Paul Giblock <drfaygo/at/gmail/dot/com>
10266         * src/widgets/text_float.cpp:
10267         * src/core/track.cpp:
10268         - fixed segfaults from clicking on track content objects after loading a
10269           project.  
10270         - I don't have a copy of 3.1 to reference, so I don't know where the
10271           textFloat is normally displayed.  Feel free to adjust.
10273 2007-11-21      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
10275         * src/lib/sample_buffer.cpp:
10276         - duplicate ASCII-string from file.toAscii().constData() in order to not
10277           get corrupted - fixes random problems with loading OGG-files
10278         - sample-visualization now floating-point-based
10279         
10280         * src/widgets/combobox.cpp:
10281         fixed text-drawing
10283         * src/widgets/led_checkbox.cpp:
10284         * src/widgets/tab_widget.cpp:
10285         added workarounds for obviously non-working font-property
10287         * src/widgets/knob.cpp:
10288         - knob::drawKnob( ... ) now completely works with floats
10289         - use anti-aliasing when drawing tick
10291         * src/tracks/sample_track.cpp:
10292         fixed painting of sample-TCO's
10294         * src/core/arp_and_chords_tab_widget.cpp:
10295         removed obviously non-working comboBox::setFont( ... )-calls
10297         * src/core/envelope_and_lfo_widget.cpp:
10298         use line-width of 1.5 instead of 2 for drawing LFO
10300         * src/core/main.cpp:
10301         do not set default font-size
10303         * data/locale/de.ts:
10304         * data/locale/de.qm:
10305         fixed German localization
10307 2007-11-20      Javier Serrano Polo <jasp00/at/terra/dot/es>
10309         * include/drumsynth.h:
10310         * licenses/drumsynth.LICENSE:
10311         * src/lib/drumsynth.cpp:
10312         relicensed under GPL, thanks to Paul Kellett.
10314         * src/lib/sample_buffer.cpp:
10315         fixed Vorbis loading
10317         * include/effect_label.h:
10318         * plugins/live_tool/live_tool.cpp:
10319         * src/core/automation_editor.cpp:
10320         * src/core/bb_editor.cpp:
10321         * src/core/effect_tab_widget.cpp:
10322         * src/core/main_window.cpp:
10323         * src/core/song_editor.cpp:
10324         * src/core/tool.cpp:
10325         * src/widgets/effect_label.cpp:
10326         * src/widgets/project_notes.cpp:
10327         fixed MDI windows
10329         * include/main_window.h:
10330         * src/core/automation_editor.cpp:
10331         * src/core/main_window.cpp:
10332         * src/core/piano_roll.cpp:
10333         * src/core/song_editor.cpp:
10334         fixed non-MDI mode
10336         * include/automatable_button.h:
10337         * src/widgets/automatable_button.cpp:
10338         inherit from QPushButton
10340         * include/tool.h:
10341         * plugins/live_tool/live_tool.cpp:
10342         * plugins/live_tool/live_tool.h:
10343         * src/core/main_window.cpp:
10344         * src/core/tool.cpp:
10345         simplified tool interface
10347         * plugins/live_tool/live_tool.cpp:
10348         fixed instrument toggling
10350         * plugins/live_tool/live_tool.cpp:
10351         * plugins/live_tool/live_tool.h:
10352         fixed focus bug
10354         * include/effect_label.h:
10355         * src/widgets/effect_label.cpp:
10356         simplified window management
10358         * include/effect_label.h:
10359         * include/main_window.h:
10360         * plugins/vst_base/lvsl_client.cpp:
10361         * plugins/vst_effect/vst_effect.h:
10362         * src/core/track_container.cpp:
10363         reduced dependencies
10365         * data/samples/drumsynth/misc_bass/Makefile.am:
10366         * data/samples/drumsynth/misc_claps/Makefile.am:
10367         * data/samples/drumsynth/misc_electro/Makefile.am:
10368         * data/samples/drumsynth/misc_fx/Makefile.am:
10369         * data/samples/drumsynth/misc_hats/Makefile.am:
10370         * data/samples/drumsynth/misc_perc/Makefile.am:
10371         * data/samples/drumsynth/misc_synth/Makefile.am:
10372         * data/samples/drumsynth/r_b/Makefile.am:
10373         replaced more filenames with underscores, thanks to Vik.
10375 2007-11-20  Paul Giblock <drfaygo/at/gmail/dot/com>
10377         * src/core/main_window:
10378         fixed flashing/moving windows on project load 
10380         * src/core/song_editor.cpp:
10381         inverted direction of master-volume and master-pitch sliders
10383 2007-11-19  Paul Giblock <drfaygo/at/gmail/dot/com>
10385         * plugins/midi_import/midi_import.cpp:
10386         fixed debugging code so file would compile
10388 2007-11-18      Paul Giblock <drfaygo/at/gmail/dot/com>
10390         * include/track_container.h:
10391         removed some obsolete functions
10393 2007-11-18      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
10395         * plugins/vst_base/lvsl_client.cpp:
10396         fixed usage of QMdiArea instead of QWorkspace
10398         * include/main_window.h:
10399         added inclusion of QMdiArea-header
10401         * include/track_container.h:
10402         fixed some code to match coding-style-guidelines
10404         * acinclude.m4:
10405         reverted Paul's private changes
10407 2007-11-18      Paul Giblock <drfaygo/at/gmail/dot/com>
10409         * plugins/ladspa_effect/ladspa_effect.h:
10410         * plugins/bass_booster/bass_booster.h:
10411         * plugins/stereo_enhancer/stereoenhancer_control_dialog.cpp:
10412         * plugins/stereo_enhancer/stereoenhancer_control_dialog.h:
10413         * include/main_window.h:
10414         * include/instrument_track.h:
10415         * include/track_container.h:
10416         * src/widgets/rack_plugin.cpp:
10417         * src/widgets/project_notes.cpp:
10418         * src/widgets/tempo_sync_knob.cpp:
10419         * src/tracks/instrument_track.cpp:
10420         * src/tracks/pattern.cpp:
10421         * src/core/track_container.cpp:
10422         * src/core/tool.cpp:
10423         * src/core/file_browser.cpp:
10424         * src/core/main.cpp:
10425         * src/core/piano_roll.cpp:
10426         * src/core/main_window.cpp:
10427         * src/core/song_editor.cpp:
10428         * src/core/automation_pattern.cpp:
10429         * src/core/automation_editor.cpp:
10430         * src/core/bb_editor.cpp:
10431         Replaced references to QWorkspace, made everything work with QMdiArea
10433         * include/main_window.h:
10434         mainWindow::workspace() now returns a QMdiArea
10436         * include/rack_plugin.h:
10437         Add m_subWindow to track QMdiSubWindow independently of the 
10438         control dialog
10440         * include/track_container.h:
10441         Emulate centralWidget by returning this pointer
10443         * AUTHORS:
10444         Added Paul Giblock as an author
10446         * src/core/track_container.cpp:
10447         Adding a subwindow before the widget is fully constructed causes
10448         problems: no icon, no geometry, and sometime multiple windows.
10449         Force each subclass to do their own workspace()->addWindow()
10451         * src/core/main_window.cpp:
10452         toggling of subWindows is performed on the parentWidgets. However,
10453         things like instrumentTrack are actually QMdiSubWindows themselves
10455 2007-11-14      Javier Serrano Polo <jasp00/at/terra/dot/es>
10457         * configure.in:
10458         * data/samples/drumsynth/*:
10459         * data/samples/Makefile.am:
10460         * include/drumsynth.h:
10461         * include/sample_buffer.h:
10462         * licenses/drumsynth.LICENSE:
10463         * Makefile.am:
10464         * plugins/audio_file_processor/audio_file_processor.cpp:
10465         * src/lib/drumsynth.cpp:
10466         * src/lib/sample_buffer.cpp:
10467         imported DrumSynth from 0.3 branch
10469         * include/sample_buffer.h:
10470         * plugins/audio_file_processor/artwork.png:
10471         * plugins/audio_file_processor/audio_file_processor.cpp:
10472         * plugins/audio_file_processor/audio_file_processor.h:
10473         * src/lib/sample_buffer.cpp:
10474         dropped dot drawing method
10476         * src/lib/sample_buffer.cpp:
10477         - fixed DrumSynth support when missing Vorbis
10478         - use working line drawing method from 0.3 branch
10480         * plugins/audio_file_processor/audio_file_processor.cpp:
10481         fixed sample display
10483         * src/core/track.cpp:
10484         * src/core/track_container.cpp:
10485         fixed track removal segfault
10487         * data/locale/ca.ts:
10488         updated translation
10490 2007-11-12      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
10492         * plugins/stereo_enhancer/stereo_enhancer.h:
10493         * plugins/stereo_enhancer/stereo_enhancer.cpp:
10494         * plugins/stereo_enhancer/stereoenhancer_control_dialog.h:
10495         * plugins/stereo_enhancer/stereoenhancer_control_dialog.cpp:
10496         * plugins/stereo_enhancer/Makefile.am:
10497         added StereoEnhancer-plugin from
10498         Lou Herard <lherard /at/ gmail /dot/ com>
10500 2007-11-12      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
10502         * plugins/ladspa_effect/caps/basics.h:
10503         * plugins/ladspa_effect/caps/interface.cc:
10504         * configure.in:
10505         small fixes for cross-compilation
10507         * Makefile.am:
10508         * src/core/ladspa_base.cpp:
10509         removed as obsolete
10511 2007-11-10      Javier Serrano Polo <jasp00/at/terra/dot/es>
10513         * Makefile.am:
10514         * include/envelope_and_lfo_widget.h:
10515         * include/pixmap_button.h:
10516         * include/spc_bg_hndl_widget.h:
10517         * include/tab_widget.h:
10518         * plugins/audio_file_processor/audio_file_processor.cpp:
10519         * plugins/audio_file_processor/audio_file_processor.h:
10520         * plugins/bit_invader/bit_invader.cpp:
10521         * plugins/bit_invader/bit_invader.h:
10522         * plugins/organic/organic.cpp:
10523         * plugins/organic/organic.h:
10524         * plugins/patman/patman.cpp:
10525         * plugins/patman/patman.h:
10526         * plugins/vestige/vestige.cpp:
10527         * plugins/vestige/vestige.h:
10528         * src/core/envelope_and_lfo_widget.cpp:
10529         * src/widgets/group_box.cpp:
10530         * src/widgets/knob.cpp:
10531         * src/widgets/led_checkbox.cpp:
10532         * src/widgets/pixmap_button.cpp:
10533         * src/widgets/tab_widget.cpp:
10534         removed obsolete specialBgHandlingWidget
10536         * src/core/main_window.cpp:
10537         fixed label in save project dialog
10539         * data/themes/default/style.css:
10540         * include/track.h:
10541         * src/core/track.cpp:
10542         turned more code into style sheet
10544         * data/themes/default/style.css:
10545         * src/core/track.cpp:
10546         reverted positioning in style sheet
10548         * data/themes/default/style.css:
10549         restricted style inheritance
10551         * plugins/bass_booster/bassbooster_control_dialog.cpp:
10552         * plugins/flp_import/unrtf/parse.c:
10553         * plugins/vestige/vestige.h:
10554         * plugins/vst_effect/vst_control_dialog.cpp:
10555         * plugins/vst_effect/vst_effect.cpp:
10556         * plugins/vst_effect/vst_subplugin_features.cpp:
10557         removed Qt3 code
10559         * plugins/bit_invader/bit_invader.cpp:
10560         * plugins/bit_invader/bit_invader.h:
10561         * plugins/organic/organic.cpp:
10562         * plugins/organic/organic.h:
10563         * plugins/vestige/vestige.cpp:
10564         reduced dependencies
10566         * plugins/bit_invader/bit_invader.cpp:
10567         removed deprecated code
10569 2007-11-06      Javier Serrano Polo <jasp00/at/terra/dot/es>
10571         * include/track.h:
10572         * src/core/track.cpp:
10573         optimized trackOperationsWidget paint event
10575         * data/themes/default/style.css:
10576         * src/core/track.cpp:
10577         turned some code into style sheet
10579 2007-11-03      Javier Serrano Polo <jasp00/at/terra/dot/es>
10581         * plugins/singerbot/singerbot_proxy.cpp:
10582         initial release, separate process to deal with Festival
10584         * plugins/singerbot/file.h:
10585         initial release, file descriptor wrapper
10587         * plugins/singerbot/Makefile.am:
10588         * plugins/singerbot/singerbot.cpp:
10589         * plugins/singerbot/singerbot.h:
10590         use external proxy
10592         * include/main_window.h:
10593         * src/core/main_window.cpp:
10594         upgraded recently opened files feature
10596         * include/main_window.h:
10597         * src/core/main_window.cpp:
10598         * src/core/song_editor.cpp:
10599         fixed recently opened files segfault
10601         * include/mmp.h:
10602         * src/lib/mmp.cpp:
10603         simplified save extension handling
10605         * src/core/song_editor.cpp:
10606         * src/lib/mmp.cpp:
10607         fixed recently opened files bug (#1800364)
10609         * data/themes/default/style.css:
10610         * data/themes/Makefile.am:
10611         * include/config_mgr.h:
10612         * src/core/config_mgr.cpp:
10613         * src/core/main_window.cpp:
10614         added style sheet support
10616         * include/caption_menu.h:
10617         * src/widgets/caption_menu.cpp:
10618         initial release, context menu with a caption
10620         * plugins/vibed/impulse_editor.cpp:
10621         * plugins/vibed/nine_button_selector.cpp:
10622         * plugins/vibed/vibed.cpp:
10623         * src/core/piano_widget.cpp:
10624         * src/core/surround_area.cpp:
10625         * src/widgets/automatable_button.cpp:
10626         * src/widgets/automatable_slider.cpp:
10627         * src/widgets/combobox.cpp:
10628         * src/widgets/knob.cpp:
10629         * src/widgets/lcd_spinbox.cpp:
10630         * src/widgets/rack_plugin.cpp:
10631         * src/widgets/tempo_sync_knob.cpp:
10632         use caption menu
10634         * src/core/main_window.cpp:
10635         set workspace's background with its own method
10637         * acinclude.m4:
10638         * include/file_browser.h:
10639         * src/core/file_browser.cpp:
10640         * src/core/main_window.cpp:
10641         replaced Qt3-based file browser implementation
10643         * src/core/file_browser.cpp:
10644         enabled match in directory content filter
10646         * src/widgets/automatable_slider.cpp:
10647         fixed mouse release segfault
10649         * acinclude.m4:
10650         * src/core/main.cpp:
10651         assume Qt translations are properly configured
10653         * src/core/main.cpp:
10654         use standard return values
10656         * src/core/config_mgr.cpp:
10657         removed line breaks inside paragraphs, wrapping should work
10659         * src/audio/audio_alsa.cpp:
10660         * src/midi/midi_alsa_seq.cpp:
10661         removed discouraged alloca calls
10663         * include/main_window.h:
10664         * include/rack_plugin.h:
10665         * plugins/bass_booster/bass_booster.h:
10666         * plugins/ladspa_effect/ladspa_effect.h:
10667         * plugins/vst_base/lvsl_client.cpp:
10668         * plugins/vst_effect/vst_effect.h:
10669         * src/core/automation_editor.cpp:
10670         * src/core/file_browser.cpp:
10671         * src/core/main_window.cpp:
10672         * src/core/piano_roll.cpp:
10673         * src/core/surround_area.cpp:
10674         * src/core/tool.cpp:
10675         * src/core/track_container.cpp:
10676         * src/tracks/instrument_track.cpp:
10677         * src/widgets/combobox.cpp:
10678         * src/widgets/effect_label.cpp:
10679         * src/widgets/knob.cpp:
10680         * src/widgets/project_notes.cpp:
10681         * src/widgets/rack_plugin.cpp:
10682         * src/widgets/tempo_sync_knob.cpp:
10683         reduced include dependencies
10685         * plugins/flp_import/unrtf/attr.c:
10686         * plugins/flp_import/unrtf/attr.h:
10687         * plugins/flp_import/unrtf/convert.c:
10688         * plugins/flp_import/unrtf/error.c:
10689         * plugins/flp_import/unrtf/error.h:
10690         * plugins/flp_import/unrtf/html.c:
10691         * plugins/flp_import/unrtf/malloc.c:
10692         * plugins/flp_import/unrtf/malloc.h:
10693         * plugins/flp_import/unrtf/output.c:
10694         * plugins/flp_import/unrtf/output.h:
10695         * src/audio/audio_file_ogg.cpp:
10696         replaced deprecated string conversions
10698         * plugins/lb302/lb302.cpp:
10699         * src/widgets/kmultitabbar.cpp:
10700         fixed different signedness comparison
10702         * plugins/lb302/lb302.cpp:
10703         * plugins/midi_import/midi_import.cpp:
10704         commented out unused variables
10706         * plugins/flp_import/unrtf/convert.c:
10707         replaced empty conditional
10709         * src/widgets/kmultitabbar.cpp:
10710         added copyright notice
10712         * src/core/automation_pattern.cpp:
10713         * src/core/config_mgr.cpp:
10714         * src/core/import_filter.cpp:
10715         * src/core/ladspa_manager.cpp:
10716         * src/core/setup_dialog.cpp:
10717         * src/core/track.cpp:
10718         * src/core/track_container.cpp:
10719         * src/lib/sample_buffer.cpp:
10720         * src/midi/midi_mapper.cpp:
10721         * src/widgets/tab_bar.cpp:
10722         * src/widgets/text_float.cpp:
10723         removed old undefs
10725         * configure.in:
10726         readded unsafe-loop-optimizations warning
10728         * data/locale/ca.ts:
10729         updated translation
10731         * data/locale/qt_*.qm:
10732         removed old Qt3 translations
10734 2007-10-30      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
10736         * src/core/note_play_handle.cpp:
10737         fixed crash in case of framesLeft() being less or equal zero while
10738         instrument::playNote is being called (e.g. when decreasing release
10739         while a note is active)
10741 2007-10-04      Javier Serrano Polo <jasp00/at/terra/dot/es>
10743         * configure.in:
10744         * plugins/vst_base/lvsl_client.cpp:
10745         * plugins/vst_base/lvsl_server.cpp:
10746         * plugins/vst_base/Makefile.am:
10747         * src/lib/journalling_object.cpp:
10748         amd64 fixes
10750         * plugins/vestige/vestige.cpp:
10751         fixed loading deadlock
10753         * plugins/vst_base/Makefile.am:
10754         renamed lvsl_server.c to lvsl_server.cpp
10756         * plugins/vst_base/lvsl_server.cpp:
10757         restricted shared memory permissions
10759         * plugins/vst_base/communication.h:
10760         improved string communication
10762         * configure.in:
10763         look for wine header in system folder too
10765         * configure.in:
10766         * Makefile.am:
10767         * plugins/Makefile.am:
10768         added extra plugins support
10770         * include/main_window.h:
10771         * src/core/main_window.cpp:
10772         use desktop services for online help
10774         * src/core/main_window.cpp:
10775         - use background artwork
10776         - updated wiki URL
10778         * src/core/automation_editor.cpp:
10779         * src/core/piano_roll.cpp:
10780         * src/tracks/instrument_track.cpp:
10781         * src/widgets/effect_label.cpp:
10782         fixed null workspace segfaults
10784         * plugins/stk/mallets/mallets.cpp:
10785         enabled missing files message
10787         * src/core/main.cpp:
10788         use processed argc/argv rather than deprecated functions
10790         * plugins/singerbot/singerbot.cpp:
10791         detected heap corruption
10793         * data/locale/ca.ts:
10794         updated translation
10796         * plugins/polyb302/polyb302.cpp:
10797         * plugins/polyb302/polyb302.h:
10798         dropped Qt3-support
10800         * plugins/polyb302/polyb302.cpp:
10801         applied relevant LB302 changes
10803 2007-09-25      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
10805         * include/mixer.h:
10806         * include/visualization_widget.h:
10807         * src/core/mixer.cpp:
10808         * src/widget/visualization_widget.cpp:
10809         reworked code for retrieving current mixer-buffer for visualizing it -
10810         do not use signal/slot-mechanism for passing pointer and use
10811         currentReadBuffer() + mixer-mutex instead which probably fixes some
10812         mixer-related crashes
10814         * src/widget/effect_label.cpp:
10815         set window-title for effect-chain-windows of a sample-track etc.
10817 2007-09-16      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
10819         * plugins/ladspa_effect/ladspa_subplugin_features.cpp:
10820         * include/effect_select_dialog.h:
10821         * src/core/effect_select_dialog.cpp:
10822         replaced Q3ListBox with QListWidget and made layouting-stuff of
10823         plugin-description-widget working properly
10825         * data/locale/de.ts:
10826         fixed some strings in German localization
10828 2007-09-03      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
10830         * plugins/patman/patman.cpp:
10831         * plugins/audio_file_processor/audio_file_processor.cpp:
10832         cleanups
10834         * plugins/ladspa_base:
10835         * plugins/ladspa_base/Makefile.am:
10836         removed
10838         * configure.in:
10839         * Makefile.am:
10840         * plugins/ladspa_effect/Makefile.am:
10841         * src/core/engine.cpp:
10842         * src/core/ladspa_base.cpp:
10843         * src/core/ladspa_port_dialog.cpp:
10844         * src/core/ladspa_2_lmms.cpp:
10845         * src/core/ladspa_manager.cpp:
10846         * src/core/ladspa_control.cpp:
10847         * include/ladspa_manager.h:
10848         * include/ladspa_2_lmms.h:
10849         * include/ladspa_control.h:
10850         * include/ladspa_port_dialog.h:
10851         * include/ladspa_base.h:
10852         moved all code from LADSPA-base-library into LMMS-core
10854 2007-09-02      Javier Serrano Polo <jasp00/at/terra/dot/es>
10856         * include/project_notes.h:
10857         * src/widgets/project_notes.cpp:
10858         made usable with Qt4
10860 2007-08-26      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
10862         * plugins/patman/patman.cpp:
10863         * plugins/patman/patman.h:
10864         * plugins/ladspa_effect/ladspa_effect.cpp:
10865         * plugins/ladspa_effect/ladspa_control_dialog.cpp:
10866         * plugins/ladspa_effect/ladspa_effect.h:
10867         * plugins/ladspa_effect/ladspa_control_dialog.h:
10868         * plugins/ladspa_effect/ladspa_subplugin_features.cpp:
10869         * plugins/organic/organic.cpp:
10870         * plugins/lb302/lb302.cpp:
10871         * plugins/bit_invader/graph.cpp:
10872         * plugins/bit_invader/bit_invader.cpp:
10873         * plugins/bit_invader/graph.h:
10874         * plugins/vst_effect/vst_effect.h:
10875         * plugins/vibed/graph.cpp:
10876         * plugins/vibed/impulse_editor.h:
10877         * plugins/vibed/nine_button_selector.h:
10878         * plugins/vibed/vibed.h:
10879         * plugins/vibed/graph.h:
10880         * plugins/vibed/string_container.h:
10881         * plugins/vibed/impulse_editor.cpp:
10882         * plugins/vibed/nine_button_selector.cpp:
10883         * plugins/vibed/vibed.cpp:
10884         * plugins/triple_oscillator/triple_oscillator.cpp:
10885         * plugins/singerbot/singerbot.h:
10886         * plugins/singerbot/singerbot.cpp:
10887         * plugins/live_tool/live_tool.cpp:
10888         * plugins/ladspa_base/ladspa_manager.cpp:
10889         * plugins/ladspa_base/ladspa_2_lmms.h:
10890         * plugins/ladspa_base/ladspa_manager.h:
10891         * plugins/ladspa_base/ladspa_control.cpp:
10892         * plugins/ladspa_base/ladspa_port_dialog.cpp:
10893         * plugins/ladspa_base/ladspa_control.h:
10894         * plugins/ladspa_base/ladspa_port_dialog.h:
10895         * plugins/ladspa_base/ladspa_2_lmms.cpp:
10896         * plugins/audio_file_processor/audio_file_processor.cpp:
10897         * plugins/audio_file_processor/audio_file_processor.h:
10898         * plugins/stk/mallets/mallets.cpp:
10899         * plugins/stk/mallets/mallets.h:
10900         * plugins/vestige/vestige.cpp:
10901         * plugins/vst_base/lvsl_client.cpp:
10902         * plugins/vst_base/lvsl_client.h:
10903         * plugins/kicker/kicker.cpp:
10904         * plugins/Makefile.am:
10905         * plugins/flp_import/flp_import.h:
10906         * plugins/flp_import/flp_import.cpp:
10907         * plugins/midi_import/midi_import.h:
10908         * plugins/midi_import/midi_import.cpp:
10909         * include/mmp.h:
10910         * include/knob.h:
10911         * include/cpuload_widget.h:
10912         * include/fade_button.h:
10913         * include/templates.h:
10914         * include/automatable_slider.h:
10915         * include/lcd_spinbox.h:
10916         * include/track.h:
10917         * include/spc_bg_hndl_widget.h:
10918         * include/note.h:
10919         * include/tool_button.h:
10920         * include/embed.h:
10921         * include/name_label.h:
10922         * include/midi_alsa_raw.h:
10923         * include/gui_templates.h:
10924         * include/visualization_widget.h:
10925         * include/tab_widget.h:
10926         * include/config_mgr.h:
10927         * include/midi_tab_widget.h:
10928         * include/import_filter.h:
10929         * include/mixer.h:
10930         * include/instrument_track.h:
10931         * include/audio_port.h:
10932         * include/instrument.h:
10933         * include/text_float.h:
10934         * include/piano_widget.h:
10935         * include/sample_buffer.h:
10936         * include/effect_select_dialog.h:
10937         * include/automation_pattern.h:
10938         * include/midi_mapper.h:
10939         * include/nstate_button.h:
10940         * include/plugin.h:
10941         * include/clipboard.h:
10942         * include/note_play_handle.h:
10943         * include/side_bar.h:
10944         * include/rack_view.h:
10945         * include/pattern.h:
10946         * include/string_pair_drag.h:
10947         * include/audio_file_device.h:
10948         * include/kmultitabbar.h:
10949         * include/file_browser.h:
10950         * include/base64.h:
10951         * include/audio_jack.h:
10952         * include/about_dialog.h:
10953         * include/piano_roll.h:
10954         * include/group_box.h:
10955         * include/envelope_tab_widget.h:
10956         * include/rubberband.h:
10957         * include/bb_track.h:
10958         * include/song_editor.h:
10959         * include/project_notes.h:
10960         * include/effect_tab_widget.h:
10961         * include/kmultitabbar-qt3.h:
10962         * include/automatable_button.h:
10963         * include/midi_alsa_seq.h:
10964         * include/tab_button.h:
10965         * include/journalling_object.h:
10966         * include/setup_dialog.h:
10967         * include/export_project_dialog.h:
10968         * include/rename_dialog.h:
10969         * include/pixmap_button.h:
10970         * include/tab_bar.h:
10971         * include/effect_label.h:
10972         * include/automatable_object_templates.h:
10973         * include/sample_track.h:
10974         * include/timeline.h:
10975         * include/surround_area.h:
10976         * include/main_window.h:
10977         * include/audio_device.h:
10978         * include/midi_client.h:
10979         * include/automatable_object.h:
10980         * include/automation_editor.h:
10981         * include/midi_port.h:
10982         * include/audio_sample_recorder.h:
10983         * include/bb_editor.h:
10984         * include/effect_chain.h:
10985         * include/arp_and_chords_tab_widget.h:
10986         * include/project_journal.h:
10987         * include/plugin_browser.h:
10988         * include/envelope_and_lfo_widget.h:
10989         * include/preset_preview_play_handle.h:
10990         * include/qt3support.h:
10991         * include/track_container.h:
10992         * include/combobox.h:
10993         * include/side_bar_widget.h:
10994         * include/play_handle.h:
10995         * include/qxembed.h:
10996         * include/xqmap.h:
10997         * configure.in:
10998         * src/audio/audio_file_device.cpp:
10999         * src/audio/audio_alsa.cpp:
11000         * src/audio/audio_oss.cpp:
11001         * src/audio/audio_jack.cpp:
11002         * src/midi/midi_client.cpp:
11003         * src/midi/midi_mapper.cpp:
11004         * src/midi/midi_oss.cpp:
11005         * src/midi/midi_alsa_seq.cpp:
11006         * src/midi/midi_alsa_raw.cpp:
11007         * src/lib/string_pair_drag.cpp:
11008         * src/lib/base64.cpp:
11009         * src/lib/mmp.cpp:
11010         * src/lib/journalling_object.cpp:
11011         * src/lib/sample_buffer.cpp:
11012         * src/lib/embed.cpp:
11013         * src/widgets/rack_plugin.cpp:
11014         * src/widgets/automatable_slider.cpp:
11015         * src/widgets/visualization_widget.cpp:
11016         * src/widgets/group_box.cpp:
11017         * src/widgets/lcd_spinbox.cpp:
11018         * src/widgets/rubberband.cpp:
11019         * src/widgets/tool_button.cpp:
11020         * src/widgets/combobox.cpp:
11021         * src/widgets/text_float.cpp:
11022         * src/widgets/tab_widget.cpp:
11023         * src/widgets/rack_view.cpp:
11024         * src/widgets/led_checkbox.cpp:
11025         * src/widgets/side_bar_widget.cpp:
11026         * src/widgets/project_notes.cpp:
11027         * src/widgets/volume_knob.cpp:
11028         * src/widgets/kmultitabbar.cpp:
11029         * src/widgets/qxembed.cpp:
11030         * src/widgets/rename_dialog.cpp:
11031         * src/widgets/pixmap_button.cpp:
11032         * src/widgets/nstate_button.cpp:
11033         * src/widgets/knob.cpp:
11034         * src/widgets/automatable_button.cpp:
11035         * src/widgets/tempo_sync_knob.cpp:
11036         * src/widgets/fade_button.cpp:
11037         * src/widgets/cpuload_widget.cpp:
11038         * src/widgets/tab_bar.cpp:
11039         * src/widgets/tooltip.cpp:
11040         * src/tracks/sample_track.cpp:
11041         * src/tracks/bb_track.cpp:
11042         * src/tracks/instrument_track.cpp:
11043         * src/tracks/pattern.cpp:
11044         * src/core/plugin.cpp:
11045         * src/core/arp_and_chords_tab_widget.cpp:
11046         * src/core/plugin_browser.cpp:
11047         * src/core/envelope_and_lfo_widget.cpp:
11048         * src/core/preset_preview_play_handle.cpp:
11049         * src/core/track_container.cpp:
11050         * src/core/config_mgr.cpp:
11051         * src/core/midi_tab_widget.cpp:
11052         * src/core/effect_control_dialog.cpp:
11053         * src/core/import_filter.cpp:
11054         * src/core/setup_dialog.cpp:
11055         * src/core/file_browser.cpp:
11056         * src/core/main.cpp:
11057         * src/core/mixer.cpp:
11058         * src/core/export_project_dialog.cpp:
11059         * src/core/about_dialog.cpp:
11060         * src/core/piano_roll.cpp:
11061         * src/core/track.cpp:
11062         * src/core/engine.cpp:
11063         * src/core/note.cpp:
11064         * src/core/timeline.cpp:
11065         * src/core/envelope_tab_widget.cpp:
11066         * src/core/surround_area.cpp:
11067         * src/core/piano_widget.cpp:
11068         * src/core/effect_select_dialog.cpp:
11069         * src/core/main_window.cpp:
11070         * src/core/song_editor.cpp:
11071         * src/core/automation_pattern.cpp:
11072         * src/core/name_label.cpp:
11073         * src/core/effect_tab_widget.cpp:
11074         * src/core/automation_editor.cpp:
11075         * src/core/bb_editor.cpp:
11076         * acinclude.m4:
11077         * Makefile.am:
11078         dropped Qt3-support and improved Qt4-support
11080 2007-08-23      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
11082         * configure.in:
11083         bumped to 0.4.x development series
11085 2007-08-20      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
11087         * configure.in:
11088         * README:
11089         * lmms.spec.in:
11090         finally made 0.3.0 release :)
11092         * Makefile.am:
11093         added missing entry for 3rd-party samplerate.h
11095         * data/projects/cool_songs/Makefile.am:
11096         * data/projects/covers/Makefile.am:
11097         * data/projects/demos/Makefile.am:
11098         * data/projects/misc/Makefile.am:
11099         * data/projects/tutorials/Makefile.am:
11100         added missing mmpz-wildcard
11102         * data/projects/covers/MonkeyIsland1-Intro.mmpz:
11103         another cool cover
11105         * data/projects/covers/J.S.Bach-Preludium_and_Fugue_A-Minor.mmp:
11106         removed
11108         * data/projects/covers/J.S.Bach-Preludium_and_Fugue_A-Minor.mmpz:
11109         reworked
11111         * data/projects/demos/demo1.mmp:
11112         * data/projects/demos/demo2.mmp:
11113         * data/projects/demos/demo3.mmp:
11114         * data/projects/cool_songs/Siegel-DreamWave.mmp:
11115         updated
11117         * data/projects/misc/lb302quick.mmp:
11118         * data/projects/demos/basses-demo.mmp:
11119         removed because of really low-quality and/or duplicate
11121         * data/projects/demos/lb302quick.mmpz:
11122         added another demo
11124         * data/projects/cool_songs/StrictProduction-Lamentelnes.mmp:
11125         * data/projects/cool_songs/StrictProduction-DearJonDoe.mmp:
11126         * data/projects/cool_songs/OrtalDj-FirstProyect.mmp:
11127         * data/projects/cool_songs/Siegel-SpeedTrack.mmp:
11128         * data/projects/cool_songs/Chris-RaveRiff.mmpz:
11129         * data/projects/cool_songs/MysthR-Living.mmpz:
11130         * data/projects/cool_songs/j1m-DingDong.mmp:
11131         * data/projects/cool_songs/BlueWolf-DreamTravel.mmp:
11132         * data/projects/cool_songs/Silva-ElvesCall.mmp:
11133         added some more really cool projects
11135         * data/samples/drums/bassdrum04.ogg:
11136         resampled to end at zero-level - fixes clicks in some projects
11138         * data/samples/drums/nasty_bass01.ogg:
11139         * data/samples/drums/nasty_snare01.ogg:
11140         * data/samples/drums/rim01.ogg:
11141         * data/samples/drums/ride02.ogg:
11142         * data/samples/drums/nasty_rim01.ogg:
11143         * data/samples/drums/hihat_opened03.ogg:
11144         * data/samples/misc/applause01.ogg:
11145         added samples
11147         * data/presets/TripleOscillator/SawLead.cs.xml:
11148         * data/presets/TripleOscillator/SawLead2.cs.xml:
11149         * data/presets/TripleOscillator/HardClipping.cs.xml:
11150         * data/presets/TripleOscillator/PowerStrings.cs.xml:
11151         * data/presets/TripleOscillator/SquareLead.cs.xml:
11152         * data/presets/TripleOscillator/SquareLead2.cs.xml:
11153         added some presets
11155         * plugins/lb302/lb302.cpp:
11156         removed debug-out
11158         * plugins/audio_file_processor/audio_file_processor.h:
11159         * plugins/audio_file_processor/audio_file_processor.cpp:
11160         * plugins/bit_invader/bit_invader.h:
11161         * plugins/bit_invader/bit_invader.cpp:
11162         added applyRelease(...)-call in playNote(...) and
11163         re-implemented desiredReleaseFrames()-method
11165         * include/mmp.h:
11166         * src/lib/mmp.cpp:
11167         * src/tracks/instrument_track.cpp:
11168         * src/core/main_window.cpp:
11169         * src/core/song_editor.cpp:
11170         fixed some bugs concerning recent-files-list
11172 2007-08-20      dieEasy <dieeasy/at/cheapnet/dot/it>
11174         * data/locale/it.ts:
11175         updated Italian localization-file
11177 2007-08-19      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
11179         * data/locale/de.ts:
11180         * data/locale/de.qm:
11181         updated German localization-file
11183         * Makefile.am:
11184         fixed command for updating TS-files
11186         * include/config_mgr.h:
11187         * include/main_window.h:
11188         * src/core/config_mgr.cpp:
11189         * src/core/main_window.cpp:
11190         added support for "Recently opened files"-menu
11192         * src/core/main_window.cpp:
11193         - cleanups
11194         - limit x-coordinate of a widget to be >= 0 in
11195           mainWindow::restoreWidgetState( ... ) - fixes bug with appearently
11196           inacccessible title-bars of piano-roll, song-editor etc. after
11197           loading project
11199         * include/config_mgr.h:
11200         * src/core/engine.cpp:
11201         also destroy config-manager at engine::destroy()
11203         * src/audio/audio_jack.cpp:
11204         added define for support for per-track audio-ports - almost works
11205         except that the buffers of the audio-port are already cleared again at
11206         the time the callback fills the buffers - will need an additional
11207         buffer in audio-ports or something like that
11209         * src/core/mixer.cpp:
11210         * src/lib/journalling_object.cpp:
11211         * src/lib/project_journal.cpp:
11212         * src/widgets/knob.cpp:
11213         removed debug-out
11215         * plugins/patman/patman.cpp:
11216         set directory of sample-selection-dialog to /usr/share/midi/freepats
11217         if it exists
11219         * configure.in:
11220         * plugins/Makefile.am:
11221         * plugins/vibed/vibed.cpp:
11222         * lib/src/mmp.cpp:
11223         replaced obsolete PluckedStringSynth with Vibed
11225         * configure.in:
11226         * plugins/Makefile.am:
11227         removed Polyb302 from build as the same results can be achieved either
11228         via (improved and maintained) LB302 or TripleOsc+filter - Polyb302
11229         just increases redundancy and adds extra maintainance-work
11231         * plugins/stk/mallets/mallets.cpp:
11232         do not crash if Stk-files are missing
11234 2007-08-18      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
11236         * plugins/lb302/lb302.cpp:
11237         * plugins/lb302/lb302.h:
11238         - rewrote code for monophonic behaviour (calculation of position at
11239           which to resume states etc.)
11240         - added some debugging-stuff
11241         
11242         * src/core/mixer.cpp:
11243         remove play-handles *after* we played all play-handles
11245         * src/tracks/instrument_track.cpp:
11246         fixed a bug in monophonic behaviour
11248 2007-08-16      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
11250         * include/instrument.h:
11251         * src/tracks/instrument_track.cpp:
11252         reverted previous changes (behaviour with monophonic instruments)
11254 2007-08-06      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
11256         * plugins/triple_oscillator/triple_oscillator.h:
11257         * plugins/triple_oscillator/triple_oscillator.cpp:
11258         use new applyRelease()-method
11260         * include/instrument.h:
11261         * src/core/instrument.cpp:
11262         added method instrument::applyRelease( ... ) which applies a release
11263         on given buffer according to the value returned by
11264         desiredReleaseFrames() - instruments can use this easily by simply
11265         calling this method before calling
11266         getInstrumentTrack()->processAudioBuffer()
11268         * src/core/preset_preview_play_handle.cpp:
11269         * src/tracks/instrument_track.cpp:
11270         use only half of valueRange<f_cnt_t>::max because otherwise we have
11271         overflows at several places
11273         * src/core/note_play_handle.cpp:
11274         fixed framesLeft()-method to return correct values if plugin has
11275         desiredReleaseFrames() > 0
11277         * include/note_play_handle.h:
11278         cleanups
11280         * configure.in:
11281         bumped to 0.3.0-rc2
11283         * src/lib/mmp.cpp:
11284         added more compat-code to upgrade() for being able to properly open
11285         files created by 0.0.9 and the whole 0.1.x-series
11287         * plugins/flp_import/flp_import.cpp:
11288         * include/arp_and_chords_tab_widget.h:
11289         * src/core/arp_and_chords_tab_widget.cpp:
11290         * src/lib/mmp.cpp:
11291         cleaned up all the arpeggio-direction-hacks - now the values are UP
11292         (0) to RANDOM (3) at *all* places - required some compat-hacks in
11293         mmp-upgrade()-method
11295         * include/file_browser.h:
11296         * src/core/file_browser.cpp:
11297         protect m_previewPlayHandle with mutex - fixes crash when releasing
11298         mouse button on preset-file with VST-plugin/-effect while VST-plugin
11299         is still loading
11301 2007-08-04      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
11303         * src/widget/visualization_widget.cpp:
11304         proper visualization even with period-sizes < 128
11306         * plugins/audio_file_processor/audio_file_processor.cpp:
11307         * plugins/bit_invader/bit_invader.cpp:
11308         * plugins/kicker/kicker.cpp:
11309         * plugins/lb302/lb302.cpp:
11310         * plugins/patman/patman.cpp:
11311         * plugins/plucked_string_synth/plucked_string_synth.cpp:
11312         * plugins/polyb302/polyb302.cpp:
11313         * plugins/singerbot/singerbot.cpp:
11314         * plugins/stk/mallets/mallets.cpp:
11315         * plugins/vibed/vibed.cpp:
11316         removed check for framesLeftForCurrentPeriod() being zero - fixed by
11317         patch below
11319         * src/tracks/instrument_track.cpp:
11320         - acquire mixer-lock while calling noteOff() in
11321           instrumentTrack::processInEvent( ... ) - fixes asynchronously
11322           modifications of variables in notePlayHandle which led to segfaults in
11323           some cases
11324         - when encountering old running notes on monophonic instruments only
11325           clear the part of the audio-port-buffer where the new note will be
11326           mixed in
11328 2007-08-03      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
11330         * plugins/audio_file_processor/audio_file_processor.cpp:
11331         * plugins/bit_invader/bit_invader.cpp:
11332         * plugins/kicker/kicker.cpp:
11333         * plugins/lb302/lb302.cpp:
11334         * plugins/patman/patman.cpp:
11335         * plugins/plucked_string_synth/plucked_string_synth.cpp:
11336         * plugins/polyb302/polyb302.cpp:
11337         * plugins/singerbot/singerbot.cpp:
11338         * plugins/stk/mallets/mallets.cpp:
11339         * plugins/vibed/vibed.cpp:
11340         added check for framesLeftForCurrentPeriod() being zero - fixes
11341         segfault in some cases
11343         * src/tracks/instrument_track.cpp:
11344         - do not simply pass-through _frames-parameter, use
11345           notePlayHandle::framesLeftForCurrentPeriod() if possible
11346         - disabled basic envelopes for the time being
11347         - better handling of monophonic instruments
11348         - do not play new notePlayHandles directly, set offset instead and let
11349           mixer manage the rest
11351         * src/tracks/sample_track.cpp:
11352         do not play new samplePlayHandles directly, set offset instead and let
11353         mixer manage the rest
11355         * include/note_play_handle.h:
11356         - removed framesAhead-property - now replaced by offset-property of
11357           base-class
11358         - introduced methods framesLeft() and framesLeftForCurrentPeriod() -
11359           proper usage of them in plugins etc. fixes more clicks/pops especially
11360           in monophonic instruments (LB302!)
11362         * src/core/mixer.cpp:
11363         call songEditor::processNextBuffer() *before* playing all play-handles
11365         * src/core/mixer.cpp:
11366         * include/mixer.h:
11367         extended clearAudioBuffer()-methods by offset
11369         * include/play_handle.h:
11370         added offset-property
11372         * include/mixer.h:
11373         * most other files:
11374         renamed "framesPerAudioBuffer()" to "framesPerPeriod()"
11376         * include/types.h:
11377         * most other files:
11378         renamed type "fpab_t" to "fpp_t"
11380 2007-07-30      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
11382         * plugins/singerbot/singerbot.h:
11383         * include/sample_buffer.h:
11384         * include/audio_device.h:
11385         * configure.in:
11386         * acinclude.m4:
11387         * Makefile.am:
11388         use 3rd-party code if libsamplerate is not available on system
11390         * src/3rdparty/samplerate/src_linear.c:
11391         * src/3rdparty/samplerate/samplerate.h:
11392         * src/3rdparty/samplerate/fastest_coeffs.h:
11393         * src/3rdparty/samplerate/src_sinc.c:
11394         * src/3rdparty/samplerate/float_cast.h:
11395         * src/3rdparty/samplerate/mid_qual_coeffs.h:
11396         * src/3rdparty/samplerate/src_zoh.c:
11397         * src/3rdparty/samplerate/high_qual_coeffs.h:
11398         * src/3rdparty/samplerate/samplerate.c:
11399         * src/3rdparty/samplerate/common.h:
11400         added libsamplerate-source-code
11402 2007-07-29      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
11404         * configure.in:
11405         - made 0.3.0-rc1 release
11406         - replaced "+=" operator by according X="$X ..." constructs as older
11407           bashes have problems with it
11409         * configure.in:
11410         * Makefile.am:
11411         * include/audio_device.h:
11412         * include/sample_buffer.h:
11413         * src/audio/audio_device.cpp:
11414         * src/lib/sample_buffer.cpp:
11415         removed already broken support for building LMMS without libsamplerate
11417         * acinclude.m4:
11418         disabled Qt4-support - re-enable it / rewrite Qt4-detection code in
11419         0.4.x-devel-branch
11421 2007-07-23      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
11423         * plugins/midi_import/midi_import.h:
11424         * plugins/midi_import/midi_import.cpp:
11425         - when adding notes to pattern *never* let them be quantized - fixes
11426           bug where notes of imported MIDI-files were not where they should have
11427           been
11428         - added support for tempo-change-events by modifying
11429           automation-pattern of tempo-knob of track-container (if such exists)
11430         - import track-names
11431         - proper handling of time-base, -division etc.
11433         * include/midi.h:
11434         added midiMetaEvents-enum
11436         * include/song_editor.h:
11437         * include/track_container.h:
11438         * src/core/song_editor.cpp:
11439         added virtual tempoAutomationPattern()-method which returns
11440         automation-pattern of tempo-object (i.e. bpmSpinBox) if such exists
11441         for a certain track-container
11443         * include/automation_pattern.h:
11444         - added non-const version of object()-method
11445         - made lot of other methods const
11447 2007-07-21      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
11449         * include/mixer.h:
11450         * src/core/mixer.cpp:
11451         added more mutexes to protect all important data-structures more
11452         granularly and safely - fixes some potential segfaults
11454         * src/tracks/instrument_track.cpp:
11455         - lock mixer while loading instrument / track-specific settings - fixes
11456           segfault when dragging preset/instrument plugin to existing track
11457           while playing
11458         - remove effects in loadTrackSpecificSettings() if none were in preset
11459           (e.g. old preset-file)
11461         * include/rack_view.h:
11462         * include/effect_tab_widget.h:
11463         * src/widgets/rack_view.cpp:
11464         - delete all existing plugins before adding new ones in
11465           rackView::loadSettings()
11466         - cleanups
11468         * configure.in:
11469         cleanups
11471 2007-07-20      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
11473         * lmms.spec.in:
11474         merged changes found in
11475         https://sourceforge.net/tracker/download.php?group_id=105168&atid=640436&file_id=225331&aid=1702303
11477         * configure.in:
11478         - cleaned up and improved detection of WINE-development-files and/or
11479           single components of it and removed aeffectx.h-detection-stuff as
11480           not needed anymore
11481         - changed warning on missing STK-files
11482         - several improvements of output-texts
11484 2007-07-17      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
11486         * configure.in:
11487         - removed unsafe flags
11488         - disabled single-source-compiling per default
11490         * src/audio/audio_port.cpp:
11491         initialize all member-variables in initialization-list of
11492         audioPort-constructor - this way the audio-port isn't being added to
11493         the mixer before it's completely initialized - fixes some segfaults
11495         * include/midi.h:
11496         * plugins/midi_import/midi_import.h:
11497         * plugins/midi_import/midi_import.cpp:
11498         - initial incomplete handling for tempo-events
11499         - properly aligned imported notes
11501 2007-07-16      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
11503         * src/core/mixer.cpp:
11504         fixed logical error in mixer::renderNextBuffer() which led to lot of
11505         clicks and pops when using parallelization-level > 1
11507         * include/note_play_handle.h:
11508         * src/tracks/instrument_track-cpp:
11509         fixed broken detection of last period of a note which resulted in
11510         clicks and pops as the soft fade-out at the end sometimes was done twice
11512 2007-05-12      Javier Serrano Polo <jasp00/at/terra/dot/es>
11514         * include/clipboard.h:
11515         * include/mmp.h:
11516         * include/note.h:
11517         * include/piano_roll.h:
11518         * src/core/note.cpp:
11519         * src/core/piano_roll.cpp:
11520         * src/lib/clipboard.cpp:
11521         * src/lib/mmp.cpp:
11522         use the global clipboard to copy notes
11524         * include/group_box.h:
11525         * src/core/arp_and_chords_tab_widget.cpp:
11526         * src/core/envelope_tab_widget.cpp:
11527         * src/lib/mmp.cpp:
11528         * src/widgets/group_box.cpp:
11529         save groupbox automation
11531         * include/surround_area.h:
11532         * src/core/surround_area.cpp:
11533         * src/core/track.cpp:
11534         * src/lib/mmp.cpp:
11535         calculate volume vector in a more consistent way
11537         * src/core/track.cpp:
11538         fixed drag track onto another segfault
11540         * include/piano_widget.h:
11541         * src/core/piano_widget.cpp:
11542         fixed release invalid key segfault
11544         * src/tracks/instrument_track.cpp:
11545         fixed freeze pattern segfault
11547         * include/preset_preview_play_handle.h:
11548         * src/core/engine.cpp:
11549         * src/core/preset_preview_play_handle.cpp:
11550         fixed uninitialized preset preview container segfault
11552         * include/main_window.h:
11553         * src/core/main_window.cpp:
11554         added Qt4 menu implementations
11556         * include/file_browser.h:
11557         * include/qt3support.h:
11558         * src/core/file_browser.cpp:
11559         fixed Qt4 context menu
11561         * data/locale/ca.ts:
11562         * src/tracks/pattern.cpp:
11563         hide irrelevant freeze options from context menu
11565 2007-05-07      Javier Serrano Polo <jasp00/at/terra/dot/es>
11567         * include/audio_jack.h:
11568         * include/effect.h:
11569         * include/effect_chain.h:
11570         * include/envelope_and_lfo_widget.h:
11571         * include/instrument_track.h:
11572         * include/mixer.h:
11573         * include/pattern.h:
11574         * include/sample_buffer.h:
11575         * include/shared_object.h:
11576         * plugins/ladspa_base/ladspa_control.cpp:
11577         * plugins/ladspa_base/ladspa_control.h:
11578         * plugins/ladspa_effect/ladspa_effect.cpp:
11579         * src/audio/audio_jack.cpp:
11580         * src/core/effect.cpp:
11581         * src/core/effect_chain.cpp:
11582         * src/core/envelope_and_lfo_widget.cpp:
11583         * src/core/envelope_tab_widget.cpp:
11584         * src/core/file_browser.cpp:
11585         * src/core/mixer.cpp:
11586         * src/core/piano_roll.cpp:
11587         * src/core/song_editor.cpp:
11588         * src/core/track.cpp:
11589         * src/core/track_container.cpp:
11590         * src/lib/oscillator.cpp:
11591         * src/lib/sample_buffer.cpp:
11592         * src/tracks/instrument_track.cpp:
11593         * src/tracks/pattern.cpp:
11594         - removed process locks
11595         - use mixer lock if necessary
11597         * include/detuning_helper.h:
11598         initial release, light replacement for the note detuning knob
11600         * Makefile.am:
11601         * include/automatable_object.h:
11602         * include/automatable_object_templates.h:
11603         * include/note.h:
11604         * include/note_play_handle.h:
11605         * src/core/note.cpp:
11606         * src/core/note_play_handle.cpp:
11607         use detuning helpers
11609         * Makefile.am:
11610         * include/note_play_handle.h:
11611         * src/core/note_play_handle.cpp:
11612         dropped QObject inheritance
11614         * include/note_play_handle.h:
11615         * src/core/arp_and_chords_tab_widget.cpp:
11616         * src/core/note_play_handle.cpp:
11617         simplified subnote creation
11619         * include/pattern.h:
11620         * include/piano_roll.h:
11621         * src/core/piano_roll.cpp:
11622         * src/tracks/instrument_track.cpp:
11623         note list became read-only
11625         * include/oscillator.h:
11626         * plugins/organic/organic.cpp:
11627         * plugins/triple_oscillator/triple_oscillator.cpp:
11628         * src/lib/oscillator.cpp:
11629         use references instead of pointers
11631         * include/oscillator.h:
11632         * include/sample_buffer.h:
11633         use read-only user waveform
11635         * include/custom_events.h:
11636         initial release, custom events list
11638         * include/update_event.h:
11639         initial release, allow thread-safe GUI updates
11641         * Makefile.am:
11642         * include/fade_button.h:
11643         * include/piano_widget.h:
11644         * src/core/piano_widget.cpp:
11645         * src/widgets/fade_button.cpp:
11646         use thread-safe GUI updates
11648         * include/automation_editor.h:
11649         * include/piano_roll.h:
11650         * src/core/automation_editor.cpp:
11651         * src/core/piano_roll.cpp:
11652         simplified paint event
11654         * include/instrument.h:
11655         * include/instrument_play_handle.h:
11656         * include/mixer.h:
11657         * include/note_play_handle.h:
11658         * include/play_handle.h:
11659         * include/preset_preview_play_handle.h:
11660         * include/sample_play_handle.h:
11661         * include/track.h:
11662         * plugins/vestige/vestige.cpp:
11663         * src/core/instrument.cpp:
11664         * src/core/mixer.cpp:
11665         * src/core/note_play_handle.cpp:
11666         * src/core/preset_preview_play_handle.cpp:
11667         * src/core/sample_play_handle.cpp:
11668         * src/tracks/bb_track.cpp:
11669         * src/tracks/instrument_track.cpp:
11670         * src/tracks/sample_track.cpp:
11671         simplified handle removal
11673         * include/mixer.h:
11674         - removed duplicate playHandles()
11675         - removed unnecessary private copy constructor
11677         * include/track.h:
11678         * include/track_container.h:
11679         * src/core/track.cpp:
11680         * src/core/track_container.cpp:
11681         simplified track clonation
11683         * include/track.h:
11684         * src/core/track.cpp:
11685         simplified track removal
11687         * include/instrument_track.h:
11688         * include/note_play_handle.h:
11689         * src/core/note_play_handle.cpp:
11690         * src/tracks/instrument_track.cpp:
11691         - moved piano widget control to instrument track
11692         - calculate frequencies in note play handle
11694         * include/note_play_handle.h:
11695         * plugins/organic/organic.cpp:
11696         * plugins/triple_oscillator/triple_oscillator.cpp:
11697         public note frequency became read-only
11699         * plugins/audio_file_processor/audio_file_processor.cpp:
11700         * plugins/bit_invader/bit_invader.cpp:
11701         * plugins/lb302/lb302.cpp:
11702         * plugins/patman/patman.cpp:
11703         * plugins/plucked_string_synth/plucked_string_synth.cpp:
11704         * plugins/polyb302/polyb302.cpp:
11705         * plugins/singerbot/singerbot.cpp:
11706         * plugins/stk/mallets/mallets.cpp:
11707         * plugins/vibed/vibed.cpp:
11708         use precalculated note frequency
11710         * include/automatable_object_templates.h:
11711         reduced XML size for single-valued patterns
11713         * src/core/automation_pattern.cpp:
11714         * src/tracks/automation_pattern.cpp:
11715         - moved to core
11716         - initialize copy constructor
11718         * include/automation_pattern.h:
11719         * src/core/automation_pattern.cpp:
11720         - show read-only data
11721         - disconnect single-valued patterns from track
11723         * include/level_object.h:
11724         * src/core/automation_pattern.cpp:
11725         added display name
11727         * include/project_version.h:
11728         * src/lib/project_version.cpp:
11729         initial release, compare application versions
11731         * include/mmp.h:
11732         * src/core/arp_and_chords_tab_widget.cpp:
11733         * src/core/song_editor.cpp:
11734         * src/lib/mmp.cpp:
11735         * src/tracks/sample_track.cpp:
11736         added upgrade feature
11738         * Makefile.am:
11739         * src/lmms_single_source.cpp:
11740         - moved automation pattern to core
11741         - added project version
11743         * include/arp_and_chords_tab_widget.h:
11744         * include/audio_jack.h:
11745         * include/audio_oss.h:
11746         * include/audio_port.h:
11747         * include/audio_sdl.h:
11748         * include/automatable_slider.h:
11749         * include/automation_editor.h:
11750         * include/automation_pattern.h:
11751         * include/config_mgr.h:
11752         * include/effect.h:
11753         * include/effect_control_dialog.h:
11754         * include/effect_label.h:
11755         * include/effect_tab_widget.h:
11756         * include/engine.h:
11757         * include/envelope_tab_widget.h:
11758         * include/fifo_buffer.h:
11759         * include/instrument.h:
11760         * include/instrument_track.h:
11761         * include/level_object.h:
11762         * include/main_window.h:
11763         * include/meter_dialog.h:
11764         * include/midi_dummy.h:
11765         * include/midi_event_processor.h:
11766         * include/midi_port.h:
11767         * include/mixer.h:
11768         * include/note_play_handle.h:
11769         * include/pattern.h:
11770         * include/piano_roll.h:
11771         * include/piano_widget.h:
11772         * include/plugin.h:
11773         * include/preset_preview_play_handle.h:
11774         * include/rack_plugin.h:
11775         * include/rack_view.h:
11776         * include/sample_play_handle.h:
11777         * include/sample_track.h:
11778         * include/side_bar.h:
11779         * include/surround_area.h:
11780         * include/tempo_sync_knob.h:
11781         * include/tool.h:
11782         * include/track_container.h:
11783         * include/volume_knob.h:
11784         * plugins/audio_file_processor/audio_file_processor.cpp:
11785         * plugins/bass_booster/bassbooster_control_dialog.cpp:
11786         * plugins/bit_invader/bit_invader.cpp:
11787         * plugins/flp_import/flp_import.cpp:
11788         * plugins/kicker/kicker.cpp:
11789         * plugins/ladspa_base/ladspa_control.cpp:
11790         * plugins/ladspa_base/ladspa_control.h:
11791         * plugins/ladspa_base/ladspa_manager.h:
11792         * plugins/ladspa_effect/ladspa_control_dialog.h:
11793         * plugins/lb302/lb302.cpp:
11794         * plugins/lb302/lb302.h:
11795         * plugins/organic/organic.cpp:
11796         * plugins/patman/patman.cpp:
11797         * plugins/plucked_string_synth/plucked_string_synth.cpp:
11798         * plugins/polyb302/polyb302.cpp:
11799         * plugins/polyb302/polyb302.h:
11800         * plugins/singerbot/singerbot.cpp:
11801         * plugins/singerbot/singerbot.h:
11802         * plugins/stk/mallets/mallets.cpp:
11803         * plugins/stk/mallets/mallets.h:
11804         * plugins/triple_oscillator/triple_oscillator.cpp:
11805         * plugins/vestige/vestige.cpp:
11806         * plugins/vestige/vestige.h:
11807         * plugins/vibed/impulse_editor.cpp:
11808         * plugins/vibed/vibed.cpp:
11809         * plugins/vst_effect/vst_control_dialog.cpp:
11810         * plugins/vst_effect/vst_effect.cpp:
11811         * plugins/vst_effect/vst_subplugin_features.cpp:
11812         * src/core/automation_pattern.cpp:
11813         * src/core/effect_control_dialog.cpp:
11814         * src/core/effect_tab_widget.cpp:
11815         * src/core/envelope_tab_widget.cpp:
11816         * src/core/midi_tab_widget.cpp:
11817         * src/core/piano_widget.cpp:
11818         * src/core/plugin.cpp:
11819         * src/core/surround_area.cpp:
11820         * src/core/track.cpp:
11821         * src/tracks/instrument_track.cpp:
11822         * src/tracks/sample_track.cpp:
11823         * src/widgets/automatable_slider.cpp:
11824         * src/widgets/effect_label.cpp:
11825         * src/widgets/rack_plugin.cpp:
11826         * src/widgets/tempo_sync_knob.cpp:
11827         reduced dependencies
11829         * plugins/ladspa_base/ladspa_manager.cpp:
11830         * plugins/lb302/lb302.cpp:
11831         * plugins/lb302/lb302.h:
11832         * src/audio/audio_port.cpp:
11833         * src/core/engine.cpp:
11834         * src/midi/midi_client.cpp:
11835         * src/tracks/instrument_track.cpp:
11836         * src/widgets/knob.cpp:
11837         * src/widgets/rack_view.cpp:
11838         fixed memory leaks
11840         * include/automatable_object_templates.h:
11841         * plugins/plucked_string_synth/plucked_string_synth.cpp:
11842         * plugins/singerbot/singerbot.cpp:
11843         * plugins/vibed/vibrating_string.cpp:
11844         * src/core/envelope_and_lfo_widget.cpp:
11845         * src/lib/sample_buffer.cpp:
11846         simplified deletions
11848         * include/song_editor.h:
11849         * src/core/song_editor.cpp:
11850         improved destructor workaround (still a workaround)
11852         * src/core/timeline.cpp:
11853         avoid invalid reference
11855         * src/core/config_mgr.cpp:
11856         removed invariant condition
11858         * src/core/automation_editor.cpp:
11859         * src/core/envelope_and_lfo_widget.cpp:
11860         * src/core/piano_roll.cpp:
11861         reordered inline functions
11863         * src/core/plugin.cpp:
11864         initialize dummy plugin subfeatures
11866         * include/effect_chain.h:
11867         * src/core/effect_chain.cpp:
11868         - normalized destructor
11869         - renamed deleteEffect() to removeEffect(), the effect isn't deleted
11870           actually
11871         - simplified removeEffect()
11873         * src/widgets/rack_view.cpp:
11874         simplified deletePlugin()
11876         * include/rack_plugin.h:
11877         * src/widgets/rack_plugin.cpp:
11878         - fixed hot insertion/removal
11879         - simplified context menu
11881         * src/lib/project_journal.cpp:
11882         initialize journalling state
11884         * include/arp_and_chords_tab_widget.h:
11885         arpeggio directions are public
11887         * src/core/midi_tab_widget.cpp:
11888         spin boxes are initially disabled
11890         * plugins/ladspa_base/ladspa_control.cpp:
11891         * plugins/ladspa_effect/ladspa_control_dialog.cpp:
11892         disabled link automation
11894         * plugins/audio_file_processor/audio_file_processor.cpp:
11895         * plugins/audio_file_processor/audio_file_processor.h:
11896         - save/load start/end knobs automation
11897         - don't reset start/end knob values when changing the sample file
11898         - removed unused setStartAndEndKnob()
11900         * plugins/polyb302/polyb302.cpp:
11901         * plugins/polyb302/polyb302.h:
11902         removed slide toggle
11904         * include/effect_label.h:
11905         * src/widgets/effect_label.cpp:
11906         - delete related effect window
11907         - display label text
11909         * include/audio_device.h:
11910         * include/audio_dummy.h:
11911         * include/midi_client.h:
11912         * include/midi_dummy.h:
11913         hide empty settings box
11915         * include/pattern.h:
11916         * plugins/flp_import/flp_import.cpp:
11917         * src/tracks/pattern.cpp:
11918         - simplified beat insertion/display
11919         - removed unused functions
11921         * include/mixer.h:
11922         * src/tracks/pattern.cpp:
11923         render note tails in frozen patterns
11925         * plugins/organic/organic.cpp:
11926         * plugins/organic/organic.h:
11927         * plugins/triple_oscillator/triple_oscillator.cpp:
11928         * plugins/triple_oscillator/triple_oscillator.h:
11929         added oscillator objects
11931         * plugins/organic/organic.cpp:
11932         * plugins/organic/organic.h:
11933         - normalized member names
11934         - simplified waveshape selection
11936         * include/automatable_object.h:
11937         * include/knob.h:
11938         * src/widgets/knob.cpp:
11939         * src/widgets/volume_knob.cpp:
11940         removed automatable object custom data
11942         * plugins/singerbot/singerbot.cpp:
11943         * plugins/singerbot/singerbot.h:
11944         - reworked play process without sample buffers
11945         - retry wave generation on damaged environment
11947         * configure.in:
11948         * plugins/ladspa_effect/Makefile.am:
11949         added --without-caps configure option
11951         * configure.in:
11952         added extra compilation warnings
11954         * include/qt3support.h:
11955         removed (non-)bug comment
11957         * data/locale/ca.ts:
11958         updated translation
11960 2007-04-25      Javier Serrano Polo <jasp00/at/terra/dot/es>
11962         * include/basic_filters.h:
11963         * plugins/flp_import/flp_import.cpp:
11964         * src/core/envelope_tab_widget.cpp:
11965         simplified filtering
11967         * plugins/vst_base/lvsl_server.c:
11968         clear output buffers before processing
11970         * plugins/vestige/vestige.cpp:
11971         * plugins/vst_base/lvsl_client.cpp:
11972         * plugins/vst_base/lvsl_client.h:
11973         fixed sample rate change
11975         * data/locale/ca.ts:
11976         updated translation
11978 2007-04-24      Javier Serrano Polo <jasp00/at/terra/dot/es>
11980         * include/buffer_allocator.h:
11981         * src/lib/buffer_allocator.cpp:
11982         removed, obsoleted by small audio buffers
11984         * Makefile.am:
11985         * include/audio_device.h:
11986         * plugins/audio_file_processor/audio_file_processor.cpp:
11987         * plugins/bit_invader/bit_invader.cpp:
11988         * plugins/kicker/kicker.cpp:
11989         * plugins/ladspa_effect/ladspa_effect.cpp:
11990         * plugins/lb302/lb302.cpp:
11991         * plugins/organic/organic.cpp:
11992         * plugins/patman/patman.cpp:
11993         * plugins/plucked_string_synth/plucked_string_synth.cpp:
11994         * plugins/polyb302/polyb302.cpp:
11995         * plugins/singerbot/singerbot.cpp:
11996         * plugins/stk/mallets/mallets.cpp:
11997         * plugins/stk/mallets/mallets.h:
11998         * plugins/triple_oscillator/triple_oscillator.cpp:
11999         * plugins/vestige/vestige.cpp:
12000         * plugins/vibed/vibed.cpp:
12001         * plugins/vibed/vibed.h:
12002         * plugins/vibed/vibrating_string.cpp:
12003         * plugins/vibed/vibrating_string.h:
12004         * plugins/vst_effect/vst_effect.cpp:
12005         * src/lmms_single_source.cpp:
12006         * src/audio/audio_alsa.cpp:
12007         * src/audio/audio_device.cpp:
12008         * src/audio/audio_file_device.cpp:
12009         * src/audio/audio_file_wave.cpp:
12010         * src/audio/audio_jack.cpp:
12011         * src/audio/audio_oss.cpp:
12012         * src/audio/audio_port.cpp:
12013         * src/audio/audio_sample_recorder.cpp:
12014         * src/audio/audio_sdl.cpp:
12015         * src/core/main_window.cpp:
12016         * src/core/mixer.cpp:
12017         * src/core/sample_play_handle.cpp:
12018         * src/tracks/pattern.cpp:
12019         * src/widgets/visualization_widget.cpp:
12020         removed buffer allocator
12022         * include/automatable_object_templates.h:
12023         initial release, templates extracted from automatable_object.h
12025         * Makefile.am:
12026         * include/automatable_object.h:
12027         * plugins/ladspa_base/ladspa_control.cpp:
12028         * plugins/ladspa_effect/ladspa_effect.h:
12029         * plugins/patman/patman.cpp:
12030         * plugins/singerbot/singerbot.cpp:
12031         * src/core/automation_editor.cpp:
12032         * src/core/bb_editor.cpp:
12033         * src/core/envelope_and_lfo_widget.cpp:
12034         * src/core/export_project_dialog.cpp:
12035         * src/core/note.cpp:
12036         * src/core/note_play_handle.cpp:
12037         * src/core/piano_roll.cpp:
12038         * src/core/piano_widget.cpp:
12039         * src/core/setup_dialog.cpp:
12040         * src/core/song_editor.cpp:
12041         * src/core/surround_area.cpp:
12042         * src/core/track.cpp:
12043         * src/tracks/instrument_track.cpp:
12044         * src/tracks/sample_track.cpp:
12045         * src/widgets/automatable_button.cpp:
12046         * src/widgets/automatable_slider.cpp:
12047         * src/widgets/combobox.cpp:
12048         * src/widgets/effect_label.cpp:
12049         * src/widgets/knob.cpp:
12050         * src/widgets/lcd_spinbox.cpp:
12051         * src/widgets/led_checkbox.cpp:
12052         * src/widgets/pixmap_button.cpp:
12053         * src/widgets/rack_plugin.cpp:
12054         * src/widgets/tempo_sync_knob.cpp:
12055         * src/widgets/volume_knob.cpp:
12056         reduced dependencies on automatable object
12058         * src/audio/audio_device.cpp:
12059         * src/core/export_project_dialog.cpp:
12060         * src/core/mixer.cpp:
12061         fixed deadlocks
12063         * include/audio_dummy.h:
12064         don't process buffers
12066         * src/audio/audio_sample_recorder.cpp:
12067         fixed high quality
12069         * include/basic_filters.h:
12070         * include/envelope_and_lfo_widget.h:
12071         * src/core/envelope_tab_widget.cpp:
12072         simplified envelope processing
12074         * include/basic_filters.h:
12075         - use samplerate member as sample rate
12076         - reformatted
12078         * plugins/ladspa_effect/ladspa_subplugin_features.cpp:
12079         reverted layout changes in QT3, fixes descriptions
12081         * plugins/triple_oscillator/artwork.png:
12082         * plugins/triple_oscillator/triple_oscillator.cpp:
12083         updated GUI
12085         * include/tempo_sync_knob.h:
12086         * src/widgets/tempo_sync_knob.cpp:
12087         graceful shutdown
12089         * src/widgets/automatable_button.cpp:
12090         fixed undef
12092         * plugins/ladspa_effect/caps/Makefile.am:
12093         use DESTDIR
12095 2007-04-21      Javier Serrano Polo <jasp00/at/terra/dot/es>
12097         * plugins/singerbot/singerbot.cpp:
12098         * src/audio/audio_jack.cpp:
12099         * src/audio/audio_sdl.cpp:
12100         assume 1-case semaphores, fixes single source compilation
12102         * configure.in:
12103         fixed --enable options
12105 2007-04-20      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
12107         * plugins/ladspa_effect/ladspa_subplugin_features.cpp:
12108         * plugins/patman/patman.cpp:
12109         * plugins/singerbot/singerbot.h:
12110         * plugins/singerbot/singerbot.cpp:
12111         * plugins/live_tool/live_tool.cpp:
12112         * plugins/polyb302/polyb302.cpp:
12113         * include/fifo_buffer.h:
12114         * include/bb_track.h:
12115         * include/audio_device.h:
12116         * include/midi_client.h:
12117         * include/qt3support.h:
12118         * src/audio/audio_sdl.cpp:
12119         * src/audio/audio_jack.cpp:
12120         * src/core/note_play_handle.cpp:
12121         * src/core/track_container.cpp:
12122         * src/core/tool.cpp:
12123         * src/core/setup_dialog.cpp:
12124         * src/core/track.cpp:
12125         * src/core/effect_select_dialog.cpp:
12126         * src/core/main_window.cpp:
12127         * src/widgets/rack_plugin.cpp:
12128         * src/widgets/tool_button.cpp:
12129         * src/widgets/rack_view.cpp:
12130         * src/widgets/effect_label.cpp:
12131         fixes for Qt4-version
12133         * plugins/midi_import/midi_import.cpp:
12134         * src/core/automation_editor.cpp:
12135         * src/core/piano_roll.cpp:
12136         added inclusion of debug.h which includes assert.h for not failing to
12137         compile on several platforms
12139 2007-04-20      Javier Serrano Polo <jasp00/at/terra/dot/es>
12141         * executable files:
12142         removed executable property
12144 2007-04-19      Javier Serrano Polo <jasp00/at/terra/dot/es>
12146         * include/audio_port.h:
12147         * include/automatable_button.h:
12148         * include/automatable_object.h:
12149         * include/automatable_slider.h:
12150         * include/automation_editor.h:
12151         * include/automation_pattern.h:
12152         * include/bb_editor.h:
12153         * include/bb_track.h:
12154         * include/combobox.h:
12155         * include/cpuload_widget.h:
12156         * include/dummy_plugin.h:
12157         * include/effect.h:
12158         * include/effect_chain.h:
12159         * include/effect_label.h:
12160         * include/effect_select_dialog.h:
12161         * include/engine.h:
12162         * include/envelope_and_lfo_widget.h:
12163         * include/export_project_dialog.h:
12164         * include/file_browser.h:
12165         * include/group_box.h:
12166         * include/import_filter.h:
12167         * include/instrument.h:
12168         * include/journalling_object.h:
12169         * include/knob.h:
12170         * include/lcd_spinbox.h:
12171         * include/led_checkbox.h:
12172         * include/main_window.h:
12173         * include/midi_alsa_raw.h:
12174         * include/midi_alsa_seq.h:
12175         * include/midi_client.h:
12176         * include/midi_dummy.h:
12177         * include/midi_oss.h:
12178         * include/mixer.h:
12179         * include/name_label.h:
12180         * include/note.h:
12181         * include/pattern.h:
12182         * include/piano_roll.h:
12183         * include/pixmap_button.h:
12184         * include/plugin.h:
12185         * include/plugin_browser.h:
12186         * include/preset_preview_play_handle.h:
12187         * include/project_journal.h:
12188         * include/project_notes.h:
12189         * include/rack_view.h:
12190         * include/sample_buffer.h:
12191         * include/sample_play_handle.h:
12192         * include/setup_dialog.h:
12193         * include/song_editor.h:
12194         * include/string_pair_drag.h:
12195         * include/surround_area.h:
12196         * include/tempo_sync_knob.h:
12197         * include/timeline.h:
12198         * include/track_container.h:
12199         * include/visualization_widget.h:
12200         * include/volume_knob.h:
12201         * plugins/audio_file_processor/audio_file_processor.cpp:
12202         * plugins/bass_booster/bass_booster.cpp:
12203         * plugins/bass_booster/bass_booster.h:
12204         * plugins/bass_booster/bassbooster_control_dialog.cpp:
12205         * plugins/bit_invader/bit_invader.cpp:
12206         * plugins/bit_invader/graph.cpp:
12207         * plugins/bit_invader/graph.h:
12208         * plugins/flp_import/flp_import.cpp:
12209         * plugins/kicker/kicker.cpp:
12210         * plugins/ladspa_base/ladspa_2_lmms.cpp:
12211         * plugins/ladspa_base/ladspa_2_lmms.h:
12212         * plugins/ladspa_base/ladspa_base.h:
12213         * plugins/ladspa_base/ladspa_control.cpp:
12214         * plugins/ladspa_base/ladspa_control.h:
12215         * plugins/ladspa_base/ladspa_manager.cpp:
12216         * plugins/ladspa_base/ladspa_manager.h:
12217         * plugins/ladspa_base/ladspa_port_dialog.cpp:
12218         * plugins/ladspa_base/ladspa_port_dialog.h:
12219         * plugins/ladspa_effect/ladspa_control_dialog.cpp:
12220         * plugins/ladspa_effect/ladspa_effect.cpp:
12221         * plugins/ladspa_effect/ladspa_effect.h:
12222         * plugins/ladspa_effect/ladspa_subplugin_features.cpp:
12223         * plugins/ladspa_effect/ladspa_subplugin_features.h:
12224         * plugins/lb302/lb302.cpp:
12225         * plugins/live_tool/live_tool.cpp:
12226         * plugins/midi_import/midi_import.cpp:
12227         * plugins/organic/organic.cpp:
12228         * plugins/patman/patman.cpp:
12229         * plugins/plucked_string_synth/plucked_string_synth.cpp:
12230         * plugins/polyb302/polyb302.cpp:
12231         * plugins/polyb302/polyb302.h:
12232         * plugins/singerbot/singerbot.cpp:
12233         * plugins/stk/mallets/mallets.cpp:
12234         * plugins/triple_oscillator/triple_oscillator.cpp:
12235         * plugins/vestige/vestige.cpp:
12236         * plugins/vibed/graph.cpp:
12237         * plugins/vibed/graph.h:
12238         * plugins/vibed/impulse_editor.cpp:
12239         * plugins/vibed/impulse_editor.h:
12240         * plugins/vibed/nine_button_selector.cpp:
12241         * plugins/vibed/nine_button_selector.h:
12242         * plugins/vibed/vibed.cpp:
12243         * plugins/vst_base/lvsl_client.cpp:
12244         * plugins/vst_base/lvsl_client.h:
12245         * plugins/vst_effect/vst_effect.cpp:
12246         * plugins/vst_effect/vst_effect.h:
12247         * plugins/vst_effect/vst_subplugin_features.cpp:
12248         * plugins/vst_effect/vst_subplugin_features.h:
12249         * src/audio/audio_alsa.cpp:
12250         * src/audio/audio_jack.cpp:
12251         * src/audio/audio_oss.cpp:
12252         * src/audio/audio_port.cpp:
12253         * src/audio/audio_sample_recorder.cpp:
12254         * src/core/arp_and_chords_tab_widget.cpp:
12255         * src/core/automation_editor.cpp:
12256         * src/core/bb_editor.cpp:
12257         * src/core/effect.cpp:
12258         * src/core/effect_chain.cpp:
12259         * src/core/effect_control_dialog.cpp:
12260         * src/core/effect_select_dialog.cpp:
12261         * src/core/effect_tab_widget.cpp:
12262         * src/core/engine.cpp:
12263         * src/core/envelope_and_lfo_widget.cpp:
12264         * src/core/envelope_tab_widget.cpp:
12265         * src/core/export_project_dialog.cpp:
12266         * src/core/file_browser.cpp:
12267         * src/core/import_filter.cpp:
12268         * src/core/instrument.cpp:
12269         * src/core/main.cpp:
12270         * src/core/main_window.cpp:
12271         * src/core/meter_dialog.cpp:
12272         * src/core/midi_tab_widget.cpp:
12273         * src/core/mixer.cpp:
12274         * src/core/name_label.cpp:
12275         * src/core/note.cpp:
12276         * src/core/note_play_handle.cpp:
12277         * src/core/piano_roll.cpp:
12278         * src/core/piano_widget.cpp:
12279         * src/core/plugin.cpp:
12280         * src/core/plugin_browser.cpp:
12281         * src/core/preset_preview_play_handle.cpp:
12282         * src/core/sample_play_handle.cpp:
12283         * src/core/setup_dialog.cpp:
12284         * src/core/song_editor.cpp:
12285         * src/core/surround_area.cpp:
12286         * src/core/timeline.cpp:
12287         * src/core/tool.cpp:
12288         * src/core/track.cpp:
12289         * src/core/track_container.cpp:
12290         * src/lib/journalling_object.cpp:
12291         * src/lib/project_journal.cpp:
12292         * src/lib/sample_buffer.cpp:
12293         * src/lib/string_pair_drag.cpp:
12294         * src/midi/midi_alsa_raw.cpp:
12295         * src/midi/midi_alsa_seq.cpp:
12296         * src/midi/midi_client.cpp:
12297         * src/midi/midi_oss.cpp:
12298         * src/tracks/automation_pattern.cpp:
12299         * src/tracks/bb_track.cpp:
12300         * src/tracks/instrument_track.cpp:
12301         * src/tracks/pattern.cpp:
12302         * src/tracks/sample_track.cpp:
12303         * src/widgets/automatable_button.cpp:
12304         * src/widgets/automatable_slider.cpp:
12305         * src/widgets/combobox.cpp:
12306         * src/widgets/cpuload_widget.cpp:
12307         * src/widgets/effect_label.cpp:
12308         * src/widgets/group_box.cpp:
12309         * src/widgets/knob.cpp:
12310         * src/widgets/lcd_spinbox.cpp:
12311         * src/widgets/led_checkbox.cpp:
12312         * src/widgets/pixmap_button.cpp:
12313         * src/widgets/project_notes.cpp:
12314         * src/widgets/rack_plugin.cpp:
12315         * src/widgets/rack_view.cpp:
12316         * src/widgets/tempo_sync_knob.cpp:
12317         * src/widgets/visualization_widget.cpp:
12318         * src/widgets/volume_knob.cpp:
12319         return of the singletons
12321         * include/fifo_buffer.h:
12322         initial release, allows chunked audio buffer
12324         * include/audio_alsa.h:
12325         * include/audio_device.h:
12326         * include/audio_dummy.h:
12327         * include/audio_jack.h:
12328         * include/audio_oss.h:
12329         * include/audio_sdl.h:
12330         * include/mixer.h:
12331         * src/audio/audio_alsa.cpp:
12332         * src/audio/audio_device.cpp:
12333         * src/audio/audio_jack.cpp:
12334         * src/audio/audio_oss.cpp:
12335         * src/audio/audio_sdl.cpp:
12336         * src/core/mixer.cpp:
12337         * src/core/setup_dialog.cpp:
12338         use chunked audio buffer
12340         * src/core/mixer.cpp:
12341         don't delete the audio device when changing quality, fixes JACK without
12342         external server
12344         * include/sample_buffer.h:
12345         * plugins/audio_file_processor/audio_file_processor.cpp:
12346         * plugins/patman/patman.cpp:
12347         * src/lib/sample_buffer.cpp:
12348         handle different sample rates, fixes many looping patch samples
12350         * src/core/sample_play_handle.cpp:
12351         fixed high quality
12353         * plugins/patman/patman.cpp:
12354         automated Loop and Tune modes
12356         * plugins/audio_file_processor/audio_file_processor.cpp:
12357         automated Loop mode
12359         * src/core/automation_editor.cpp:
12360         fixed selections
12362         * src/core/track_container.cpp:
12363         use modularized sample extensions
12365         * include/string_pair_drag.h:
12366         * plugins/audio_file_processor/audio_file_processor.cpp:
12367         * plugins/patman/patman.cpp:
12368         * src/lib/string_pair_drag.cpp:
12369         changed string pair MIME type
12371         * src/lib/mmp.cpp:
12372         renamed root element
12374         * data/lmms.xml:
12375         initial release, project MIME type
12377         * data/Makefile.am:
12378         install project MIME type
12380         * data/lmms.desktop:
12381         - added project MIME type
12382         - added Catalan translation
12384         * include/oscillator.h:
12385         * src/lib/oscillator.cpp:
12386         got switches out of for-loops
12388         * include/arp_and_chords_tab_widget.h:
12389         * include/effect_tab_widget.h:
12390         * include/instrument_track.h:
12391         * include/midi_tab_widget.h:
12392         * include/track.h:
12393         cleaned up dependencies
12395         * data/locale/ca.ts:
12396         updated translation
12398 2007-04-07      Javier Serrano Polo <jasp00/at/terra/dot/es>
12400         * plugins/patman/artwork.png:
12401         * plugins/patman/logo.png:
12402         * plugins/patman/loop_off.png:
12403         * plugins/patman/loop_on.png:
12404         * plugins/patman/Makefile.am:
12405         * plugins/patman/patman.cpp:
12406         * plugins/patman/patman.h:
12407         * plugins/patman/tune_off.png:
12408         * plugins/patman/tune_on.png:
12409         initial release, PatMan instrument plugin
12411         * include/sample_buffer.h:
12412         * src/lib/sample_buffer.cpp:
12413         - added start/end loop points, different from start/end sample points
12414         - added sample frequency
12415         - reworked resampling, fixes resampling underruns/clicks
12416         - reused try-to-make-relative and try-to-make-absolute file handling
12417         - reused samplerate conversion
12419         * include/sample_buffer.h:
12420         * include/sample_play_handle.h:
12421         * plugins/audio_file_processor/audio_file_processor.cpp:
12422         * plugins/audio_file_processor/audio_file_processor.h:
12423         * plugins/singerbot/singerbot.cpp:
12424         * src/core/sample_play_handle.cpp:
12425         * src/lib/sample_buffer.cpp:
12426         added per handle state
12428         * include/engine.h:
12429         * include/file_browser.h:
12430         * include/plugin.h:
12431         * plugins/audio_file_processor/audio_file_processor.cpp:
12432         * plugins/audio_file_processor/audio_file_processor.h:
12433         * src/core/engine.cpp:
12434         * src/core/file_browser.cpp:
12435         * src/core/main_window.cpp:
12436         modularized sample extensions
12438         * plugins/audio_file_processor/audio_file_processor.cpp:
12439         - check dragged file extension
12440         - accept dragged files from desktop
12441         - fit displayed file name in the background box
12443         * src/core/track_container.cpp:
12444         fixed track swapping
12446         * src/tracks/bb_track.cpp:
12447         fixed loading last bb-track name
12449         * include/pattern.h:
12450         * src/tracks/pattern.cpp:
12451         removed obsolete method
12453         * plugins/polyb302/polyb302.cpp:
12454         * plugins/polyb302/polyb302.h:
12455         simplified inclusions and comments
12457         * include/main_window.h:
12458         cosmetic, grouped methods
12460         * data/locale/ca.ts:
12461         updated translation
12463 2007-04-01      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
12465         * src/lmms_single_source.cpp:
12466         moved inclusion of file_browser.cpp up as it has problems with headers
12467         included by later files
12469 2007-03-28      Javier Serrano Polo <jasp00/at/terra/dot/es>
12471         * include/mixer.h:
12472         * include/note_play_handle.h:
12473         * src/core/note_play_handle.cpp:
12474         * src/core/song_editor.cpp:
12475         fixed notes with dynamic tempo
12477         * include/main_window.h:
12478         * src/core/main_window.cpp:
12479         added online help
12481         * include/file_browser.h:
12482         * src/core/file_browser.cpp:
12483         - filter directories without relevant content
12484         - simplified entry retrieval
12486         * include/basic_filters.h:
12487         limit Moog instability
12489         * src/core/main.cpp:
12490         updated year
12492         * src/widgets/knob.cpp:
12493         initialize members according to last arrangement
12495         * data/locale/ca.ts:
12496         updated translation
12498 2007-03-26      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
12500         * configure.in:
12501         fixed "typo" in help
12503 2007-03-25      Javier Serrano Polo <jasp00/at/terra/dot/es>
12505         * plugins/polyb302/artwork.png:
12506         * plugins/polyb302/logo.png:
12507         * plugins/polyb302/Makefile.am:
12508         * plugins/polyb302/polyb302.cpp:
12509         * plugins/polyb302/polyb302.h:
12510         initial release, polyphonic version of lb302 plugin
12512         * include/instrument_track.h:
12513         * include/note_play_handle.h:
12514         * src/core/note_play_handle.cpp:
12515         * src/tracks/instrument_track.cpp:
12516         trigger detuning without signals
12518         * configure.in:
12519         fixed singerbot error
12521         * include/knob.h:
12522         arranged private/protected members
12524         * data/locale/ca.ts:
12525         updated translation
12527 2007-03-07      Javier Serrano Polo <jasp00/at/terra/dot/es>
12529         * plugins/singerbot/singerbot.cpp:
12530         fixed high quality play
12532         * data/locale/ca.ts:
12533         shortened some words
12535 2007-02-28      Javier Serrano Polo <jasp00/at/terra/dot/es>
12537         * src/audio/audio_alsa.cpp:
12538         * src/audio/audio_sdl.cpp:
12539         fixed high quality play
12541         * include/audio_alsa.h:
12542         * include/audio_device.h:
12543         * include/audio_dummy.h:
12544         * include/audio_jack.h:
12545         * include/audio_oss.h:
12546         * include/audio_sdl.h:
12547         * include/midi_alsa_raw.h:
12548         * include/midi_alsa_seq.h:
12549         * include/midi_client.h:
12550         * include/midi_dummy.h:
12551         * include/midi_oss.h:
12552         * include/setup_dialog.h:
12553         * src/core/setup_dialog.cpp:
12554         save device names without localization
12556         * data/locale/ca.ts:
12557         updated translation
12559         * plugins/lb302/lb302.cpp:
12560         * src/audio/audio_alsa.cpp:
12561         * src/audio/audio_oss.cpp:
12562         fixed typos
12564 2007-02-27      Javier Serrano Polo <jasp00/at/terra/dot/es>
12566         * src/widgets/fade_button.cpp:
12567         simplified timer usage, fixes frozen leds and hopefully the segfaults
12569         * src/core/config_mgr.cpp:
12570         create widgets once
12572 2007-02-25      Javier Serrano Polo <jasp00/at/terra/dot/es>
12574         * plugins/singerbot/singerbot.cpp:
12575         * plugins/singerbot/singerbot.h:
12576         use libsamplerate
12578         * plugins/singerbot/singerbot.cpp:
12579         - resample while playing, reduced start-up CPU usage
12580         - joined scheme commands
12582         * configure.in:
12583         - added libsamplerate dependency to singerbot
12584         - don't add plugin libraries to global LIBS
12586         * src/core/automation_editor.cpp:
12587         - fixed selection
12588         - values moved at time 0 don't move horizontally
12590         * src/core/piano_roll.cpp:
12591         little optimization when selecting all notes
12593         * src/tracks/instrument_track.cpp:
12594         emit sentMidiTime always, pitch automation mustn't be disabled
12596         * plugins/ladspa_base/ladspa_control.cpp:
12597         * plugins/ladspa_effect/ladspa_effect.cpp:
12598         raise gain range up to 10
12600         * include/effect_select_dialog.h:
12601         * include/plugin.h:
12602         * plugins/ladspa_effect/ladspa_subplugin_features.cpp:
12603         * plugins/ladspa_effect/ladspa_subplugin_features.h:
12604         * plugins/vst_effect/vst_subplugin_features.cpp:
12605         * plugins/vst_effect/vst_subplugin_features.h:
12606         * src/core/effect_select_dialog.cpp:
12607         changed description layout
12609         * plugins/ladspa_effect/ladspa_subplugin_features.cpp:
12610         simplified translations
12612         * plugins/live_tool/live_tool.cpp:
12613         added what's-this-text
12615 2007-02-20      Alexey Kouznetsov <alexey/dot/kouznetsov/at/gmail/dot/com>
12617         * data/locale/ru.ts:
12618         updated Russian translation
12620 2007-02-16      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
12622         * Makefile.am:
12623         added include/effect_lib.h to sources-list
12625 2007-02-03      Paul Giblock <pgib/at/users/dot/sourceforge/dot/net>
12627         * plugins/lb302/lb302.cpp:
12628         * plugins/lb302/lb302.h:
12629         * plugins/lb302/artwork.png:
12630         * plugins/lb302/logo.png:
12631         * plugins/lb302/Makefile.am:
12632         * plugins/lb302/README:
12633         Initial release.  LB302 Bass Synth beta instrument plugin
12635         * configure.in:
12636         * plugins/Makefile.am:
12637         * src/tracks/instrument_track.cpp:
12638         Added LB302 support
12640         * data/projects/misc/lb302_quick.mmp:
12641         Added LB302 demo
12643         * src/widgets/knob.cpp:
12644         Fixed compile-time bug caused by pointer casted to uint
12646 2007-01-21      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
12648         * src/core/note_play_handle.cpp:
12649         removed obsolete support for monophonic instruments
12651         * src/tracks/instrument_track.cpp:
12652         added new code for better support of monophonic instrument
12654 2007-01-20      Javier Serrano Polo <jasp00/at/terra/dot/es>
12656         * plugins/singerbot/artwork.png:
12657         * plugins/singerbot/logo.png:
12658         * plugins/singerbot/Makefile.am:
12659         * plugins/singerbot/singerbot.h:
12660         * plugins/singerbot/singerbot.cpp:
12661         initial release, SingerBot (experimental) instrument plugin
12663         * configure.in:
12664         * include/note_play_handle.h:
12665         * plugins/Makefile.am:
12666         * src/core/arp_and_chords_tab_widget.cpp:
12667         * src/core/note_play_handle.cpp:
12668         * src/tracks/instrument_track.cpp:
12669         added singerbot support
12671         * include/sample_buffer.h:
12672         deleteResampling methods made static
12674         * plugins/audio_file_processor/audio_file_processor.cpp:
12675         * plugins/organic/organic.cpp:
12676         * plugins/triple_oscillator/triple_oscillator.cpp:
12677         * src/core/note_play_handle.cpp:
12678         * src/tracks/instrument_track.cpp:
12679         call deleteNotePluginData() only if there is plugin data, fixes
12680         unprotected instruments
12682         * plugins/vestige/vestige.cpp:
12683         trigger deleteNotePluginData()
12685         * src/tracks/instrument_track.cpp:
12686         avoid double unlock
12688         * configure.in:
12689         fixed configuring with --with-stk
12691         * acinclude.m4:
12692         moved QT_TRANSLATIONS_DIR to config.h
12694         * plugins/flp_import/flp_import.cpp:
12695         * plugins/flp_import/unrtf/word.c:
12696         optimized unsafe loops
12698         * src/lib/sample_buffer.cpp:
12699         * src/widgets/project_notes.cpp:
12700         minor cosmetic changes
12702         * include/shared_object.h:
12703         not really thread-safe, will be removed
12705 2007-01-02      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
12707         * src/core/note.cpp:
12708         fixed segfault in hasDetuningInfo() if m_detuning was NULL
12710         * README:
12711         * src/core/about_dialog.cpp:
12712         extended copyright from 2006 to 2007
12714 2006-12-28      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
12716         * configure.in:
12717         some cleanups and fixes
12719         * src/tracks/instrument_track.cpp:
12720         before calling mixer::addPlayHandle(), unlock m_notesMutex as in some
12721         cases (when running into xruns)
12722         instrumentTrack::deleteNotePluginData() is called while the mutex is
12723         locked and the program was frozen
12725         * include/track.h:
12726         * plugins/flp_import/flp_import.cpp:
12727         * plugins/midi_import/midi_import.cpp:
12728         * src/core/file_browser.cpp:
12729         * src/core/preset_preview_play_handle.cpp:
12730         * src/core/song_editor.cpp:
12731         * src/core/track.cpp:
12732         * src/core/track_container.cpp:
12733         * src/tracks/instrument_track.cpp:
12734         changed name of constant CHANNEL_TRACK to INSTRUMENT_TRACK
12736 2006-12-24      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
12738         * plugins/kicker/kicker.cpp:
12739         changed minimal value for frequency-knobs from 40 to 5 Hz
12741 2006-12-23      Javier Serrano Polo <jasp00/at/terra/dot/es>
12743         * plugins/kicker/kicker.cpp:
12744         fixed envelope segfault
12746 2006-12-21      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
12748         * include/note_play_handle.h:
12749         * src/core/note_play_handle.cpp:
12750         added parameter to nphsOfInstrumentTrack() which will cause the method
12751         to add note-play-handles even if they're released
12753         * include/effect_lib.h:
12754         - renamed bassBosst to fastBastBoost
12755         - added new bassBoost-class based on audacity's bass-boost-effect
12757         * plugins/kicker/kicker.cpp:
12758         * include/effect_lib.h:
12759         introduced new distortion-class which sounds better than
12760         foldback-distortion
12762 2006-12-20      Javier Serrano Polo <jasp00/at/terra/dot/es>
12764         * src/widgets/rack_plugin.cpp:
12765         * src/widgets/tempo_sync_knob.cpp:
12766         defer deletion of additional windows, fixes event-loop segfault
12768 2006-12-20      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
12770         * src/tracks/instrument_track.cpp:
12771         fixed basic envelope
12773         * plugins/kicker/kicker.h:
12774         * plugins/kicker/kicker.cpp:
12775         * plugins/kicker/logo.png:
12776         * plugins/kicker/artwork.png:
12777         * plugins/kicker/Makefile.am:
12778         * plugins/Makefile.am:
12779         * configure.in:
12780         added Kicker-plugin, a versatile kick- & bassdrum-synthesizer
12782         * include/sweep_oscillator.h:
12783         added simple sweep-oscillator-class
12785         * include/effect_lib.h:
12786         - added foldbackDistortion-class
12787         - added process()-methods to monoBase- and stereoBase-class
12788         - added bypass-classes for mono and stereo
12789         - added effect-chaining-class
12791         * configure.in:
12792         fail if -fomit-frame-pointer is found in compiler-flags and
12793         VST-support is not disabled
12795 2006-12-19      Javier Serrano Polo <jasp00/at/terra/dot/es>
12797         * include/tool.h:
12798         * src/core/tool.cpp:
12799         initial release, base class for all tool plugins
12801         * include/plugin.h:
12802         * plugins/ladspa_effect/ladspa_subplugin_features.cpp:
12803         renamed AnalysisTools to Tool
12805         * include/main_window.h:
12806         * src/core/main_window.cpp:
12807         added tools menu
12809         * Makefile.am:
12810         * src/lmms_single_source.cpp:
12811         added tool plugins
12813         * configure.in:
12814         * plugins/live_tool/artwork.png:
12815         * plugins/live_tool/live_tool.cpp:
12816         * plugins/live_tool/live_tool.h:
12817         * plugins/live_tool/logo.png:
12818         * plugins/live_tool/Makefile.am:
12819         added live tool, an example tool plugin
12821         * plugins/Makefile.am:
12822         - added live tool
12823         - eased SVN merging
12825         * data/*/Makefile.am:
12826         * data/*/*/Makefile.am:
12827         * plugins/vst_base/Makefile.am:
12828         - removed wildcard extension for POSIX compliance
12829         - fixed additional automake 1.10 issues
12831 2006-12-18      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
12833         * plugins/bass_booster/bassboster_control_dialog.h:
12834         * plugins/bass_booster/bassboster_control_dialog.cpp:
12835         set changed parameters directly using new set...-methods of effect-lib
12836         (preserves current effect-state and therefore avoids clicks in sound-
12837         stream)
12839         * include/effect_lib.h:
12840         - renamed class "base" to "monoBase"
12841         - monoToStereoAdaptor can now have different effects for the two
12842           channels
12843         - added stereoToMonoAdaptor
12844         - extended baseBoost-class by several methods
12845         
12846         * plugins/vestige/vestige.h:
12847         * plugins/vestige/vestige.cpp:
12848         added note-state-array for handling sequences of "note-on note-off"
12849         events while the according note is already on which for example is the
12850         case when placing the two notes at the same key next to each other -
12851         until now the plugin started playing the second note but stopped
12852         immediately as the note-off-event of the first note arrived later than
12853         the note-on-event of the second one
12855         * src/core/instrument.cpp:
12856         always call invalidate() in destructor so (instrumentPlayHandle-
12857         driven) plugins do not have to care about it
12859         * src/tracks/instrument_track.cpp:
12860         make sure value returned by masterKey() is within allowed range 
12862         * src/core/mixer.cpp:
12863         fixed bug which caused LMMS to crash when using parallelizing-level
12864         above 1 and invalidated play-handles were existing
12866 2006-12-17      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
12868         * plugins/bass_booster/bassboster_control_dialog.cpp:
12869         * plugins/bass_booster/bassboster_control_dialog.h:
12870         * plugins/bass_booster/bass_boster.h:
12871         * plugins/bass_booster/bass_boster.cpp:
12872         * plugins/bass_booster/Makefile.am:
12873         * plugins/Makefile.am:
12874         * configure.in:
12875         added bassbooster-effect-plugin
12877         * src/core/effect_select_dialog.cpp:
12878         added support for effects without sub-plugin-support and fixed some
12879         potential crashs
12881         * include/effect_lib.h:
12882         added simple but powerful template-based effect-library with currently
12883         two basic effects
12885 2006-12-11      Javier Serrano Polo <jasp00/at/terra/dot/es>
12887         * include/sample_buffer.h:
12888         * src/lib/sample_buffer.cpp:
12889         - fixed SDL_sound decoding
12890         - enabled speex samples
12892         * src/core/file_browser.cpp:
12893         * src/core/main_window.cpp:
12894         enabled speex samples
12896         * plugins/ladspa_effect/ladspa_effect.cpp:
12897         fixed adding effect segfault
12899 2006-12-09      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
12901         * configure.in:
12902         check for ${prefix} before extending CFLAGS etc. - should fix issue
12903         with make-problems when using older automake-versions
12905         * include/instrument.h:
12906         * include/envelope_tab_widget.h:
12907         * src/core/envelope_tab_widget.cpp:
12908         support for instruments which want to define their own number of
12909         release-frames
12911         * include/instrument_track.h:
12912         * include/instrument.h:
12913         * src/core/note_play_handle.cpp:
12914         support for monophonic instruments
12916         * include/mixer.h:
12917         * src/core/mixer.cpp:
12918         made mixer::removePlayHandle() to accept const-pointers
12920 2006-12-06      Javier Serrano Polo <jasp00/at/terra/dot/es>
12922         * include/note.h:
12923         * src/core/note.cpp:
12924         show detuning in the piano roll
12926         * include/piano_roll.h:
12927         * src/core/piano_roll.cpp:
12928         - show note detuning
12929         - save last key when starting to play, fixes held notes bug
12930         - removed cursor enter/leave events, they could be ignored
12931         - optimized unsafe loops
12933         * include/xqmap.h:
12934         initial release, QMap with lowerBound for Qt3
12936         * include/automation_pattern.h:
12937         * src/tracks/automation_pattern.cpp:
12938         - use lowerBound find, resets to proper values
12939         - work with inverted midi time
12941         * include/automation_editor.h:
12942         * src/core/automation_editor.cpp:
12943         - work with inverted midi time
12944         - fixed display of hidden values
12945         - added red cross
12946         - update detuning in the piano roll
12947         - removed cursor enter/leave events, they could be ignored
12948         - optimized unsafe loops
12949         - minor optimizations
12951         * include/note_play_handle.h:
12952         * src/core/arp_and_chords_tab_widget.cpp:
12953         set subnotes' BB track
12955         * data/track_icons/*.png:
12956         re-added corrupted images
12958         * src/core/name_label.cpp:
12959         added bad pixmap protection
12961         * src/audio/audio_alsa.cpp:
12962         - removed unnecessary asynchronous behaviour, fixes large audio buffers
12963         - fill the whole period buffer, avoids underrun in synchronous mode
12965         * src/core/setup_dialog.cpp:
12966         don't use the journal
12968         * include/journalling_object.h:
12969         ease short disabling
12971         * include/automatable_object.h:
12972         - use light journal disabling
12973         - use the journal if necessary
12975         * src/widgets/knob.cpp:
12976         * src/widgets/lcd_spinbox.cpp:
12977         * src/widgets/volume_knob.cpp:
12978         use the journal if necessary
12980         * src/widgets/tempo_sync_knob.cpp:
12981         - change icon when changing mode, fixes automation crash
12982         - disable the journal when calculating sync time
12984         * src/core/bb_editor.cpp:
12985         don't create TCOs when there aren't any BB tracks
12987         * src/tracks/instrument_track.cpp:
12988         removed temporary fix
12990 2006-12-05      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
12992         * plugins/ladspa_effect/caps/Makefile.am:
12993         added include-path of LMMS for successfully compiling CAPS with shipped
12994         LADSPA-header
12996         * src/tracks/instrument_track.cpp:
12997         integrated patch from Jean-Yves Lefort <jylefort/at/freebsd/dot/org>
12999 2006-12-04      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
13001         * Makefile.am:
13002         added ladspa-1.1.h to source-file-list
13004         * plugins/ladspa_effect/caps/basics.h:
13005         include shipped LADSPA-header if none was found during configure
13007 2006-12-03      Alexey Kouznetsov <alexey/dot/kouznetsov/at/gmail/dot/com>
13009         * data/locale/ru.ts:
13010         updated Russian translation
13012 2006-11-19      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
13014         * plugins/vst_base/lvsl_server.c:
13015         proper handling of pitch-bend-events
13017         * plugins/vestige/vestige.h:
13018         * plugins/vestige/vestige.cpp:
13019         handle MIDI-events by forwarding them to VST-plugin
13021         * include/instrument.h:
13022         * src/tracks/instrument_track.cpp:
13023         if supported by according instrument, it now can handle all incoming
13024         MIDI-events (except Noteon and Noteoff)
13026         * src/midi/midi_alsa_seq.cpp:
13027         more complete implementation of MIDI-event-handling
13029 2006-11-15      Javier Serrano Polo <jasp00/at/terra/dot/es>
13031         * include/audio_alsa.h:
13032         * src/audio/audio_alsa.cpp:
13033         * src/audio/audio_device.cpp:
13034         * src/audio/audio_file_wave.cpp:
13035         convert-endian-based conversion instead of little-endian-based,
13036         fixes OSS and SDL
13038         * include/audio_sdl.h:
13039         * src/audio/audio_sdl.cpp:
13040         fill the whole audio buffer
13042 2006-11-11      Javier Serrano Polo <jasp00/at/terra/dot/es>
13044         * src/core/piano_roll.cpp:
13045         fixed pasting recorded notes segfault
13047         * configure.in:
13048         turned EXTRAFLAGS into DEFAULTFLAGS
13050 2006-11-11      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
13052         * plugins/flp_import/flp_import.cpp:
13053         include ctype.h
13055 2006-11-08      Javier Serrano Polo <jasp00/at/terra/dot/es>
13057         * include/bb_track.h:
13058         * src/tracks/bb_track.cpp:
13059         change color of selected group of TCOs
13061         * plugins/vst_base/lvsl_server.c:
13062         fixed segfault when initializing some VST plugins
13064         * src/lib/sample_buffer.cpp:
13065         fixed switching from normal play to resampling play
13067 2006-10-30      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
13069         * src/lib/string_pair_drag.cpp:
13070         when decoding value of stringPairDrag-class use everything after ":"
13071         instead of first section as the value (string) itself might contain
13072         ":"-characters - makes it possible to drag'n'drop instrument-tracks
13073         with VeSTige-instrument and avoids crash
13075         * src/core/piano_roll.cpp:
13076         when checking cursor-position in edit-mode (move/resize note), do
13077         comparisons in pixels instead of tact64th - fixes bug that 32th- and
13078         64th-notes could not be resized
13080         * src/core/file_browser.cpp:
13081         also recognize "mmpz"-files as projects and load them when
13082         double-clicking them
13084         * src/tracks/pattern.cpp:
13085         when loading pattern, check type afterwards and correct if necessary
13087 2006-10-09      Mikael Freeman <mikael/dot/freeman/at/mac/dot/se>
13089         * data/locale/sv.ts:
13090         updated Swedish translation
13092 2006-09-28      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
13094         * include/setup_dialog.h:
13095         * src/core/main_window.cpp:
13096         * src/core/setup_dialog.cpp:
13097         * src/lib/mmp.cpp:
13098         added support for compressed project ("mmpz"-extension), files are
13099         compressed if extension given to multimediaProject::writeFile() is
13100         mmpz or (if none given) user enabled compression as default
13102         * data/locale/de.ts:
13103         updated German translation (still incomplete (mainly for
13104         mallets-plugin))
13106         * lmms.1:
13107         updated manpage (added link to Wiki and updated description)
13109         * configure.in:
13110         * include/ladspa-1.1.h:
13111         * plugins/ladspa_base/ladspa_manager.h:
13112         added the latest LADSPA-header to be shipped with LMMS for always
13113         building LMMS with LADSPA-support, even if no ladspa.h was found on
13114         system (still causes warning)
13116 2006-09-25      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
13118         * configure.in:
13119         * plugins/ladspa_effect/Makefile.am:
13120         * plugins/ladspa_effect/caps/Makefile.am:
13121         added missing Makefile.am and re-added CAPS-support
13123 2006-09-25      Danny McRae <khjklujn/at/users/dot/sourceforge/dot/net>
13125         * plugins/vibed/vibrating_string.cpp:
13126         2x oversampling in non-hq-mode to get the instument to sound the
13127         same in both modes
13128         
13129         * configure.in:
13130         * plugins/ladspa_effect/Makefile.am:
13131         removed references to CAPS (sorry about that Toby, but I couldn't get
13132         anything to build with them--there's no make info in the CAPS dir)
13134 2006-09-25      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
13136         * acinclude.m4:
13137         * configure.in:
13138         * Makefile.am:
13139         * include/piano_roll.h:
13140         * include/piano_widget.h:
13141         * src/core/piano_roll.cpp:
13142         * src/core/piano_widget.cpp:
13143         made LMMS compile with mingw-cross-compiler
13145         * include/automatable_slider.h:
13146         * plugins/stk/mallets/mallets.cpp:
13147         * plugins/vst_effect/vst_subplugin_features.cpp:
13148         * plugins/vst_effect/vst_subplugin_features.cpp:
13149         * src/core/meter_dialog.cpp:
13150         * src/widgets/automatable_slider.cpp:
13151         * src/widgets/knob.cpp:
13152         * src/widgets/volume_knob.cpp:
13153         Qt4-fixes
13155         * plugins/audio_file_processor/audio_file_processor.cpp:
13156         * src/lib/sample_buffer.cpp:
13157         removed obsolete inclusion of paths.h
13159         * include/rack_view.h:
13160         * plugins/ladspa_effect/ladspa_effect.cpp:
13161         * src/core/effect_control_dialog.cpp:
13162         include qt3-support-header first
13164         * plugins/vst_effect/vst_control_dialog.cpp:
13165         do not try to reparent effect's plugin-widget in destructor - fixes
13166         crash when deleting vst-effect from effect-chain
13168         * src/lib/mmp.cpp:
13169         do not indent mmp-files anymore as it wastes *a lot* of unneccesary
13170         space
13172         * data/projects/cool_songs/StrictProduction-Underline.mmp:
13173         added another cool project
13175         * plugins/ladspa_base/ladspa_manager.cpp:
13176         - always add /usr/lib/ladspa and /usr/local/lib/ladspa to directories
13177           where to search for LADSPA-plugins
13178         - also search in /usr/lib/lmms/ladspa for LADSPA-plugins (that's where
13179           for example CAPS is installed)
13181         * plugins/ladspa_effect/caps/:
13182         added CAPS (C Audio Plugin Suite) for providing a basic LADSPA-plugin-
13183         collection
13185 2006-09-23      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
13187         * plugins/vst_effect/vst_control_dialog.cpp:
13188         save and load settings of VST-effect - with this VST-effect-support is
13189         complete for now
13191         * plugins/vst_base/lvsl_client.h:
13192         * plugins/vst_base/lvsl_client.cpp:
13193         * plugins/vestige/vestige.cpp:
13194         moved code from vestigeInstrument::saveSettings() and
13195         vestigeInstrument::loadSettings() to remoteVSTPlugin
13197         * plugins/ladspa_effect/ladspa_control_dialog.h:
13198         changed node-name from "controls" to "ladspacontrols" to be more
13199         consistent with naming-conventions
13201         * plugins/ladspa_effect/ladspa_subplugin_features.h:
13202         * plugins/ladspa_effect/ladspa_subplugin_features.cpp:
13203         moved ladspaSubPluginFeatures-code from LADSPA-base to where it
13204         belongs/is used - in LADSPA-effect
13206         * data/projects/demos/Zvonsully-RaceTheZBeat.mmp:
13207         * data/projects/cool_songs/Malex-Horizon4.mmp:
13208         added two projects
13210         * plugins/ladspa_base/ladspa_browser.cpp:
13211         * plugins/ladspa_base/ladspa_subplugin_features.cpp:
13212         removed #ifdef SINGLE_SOURCE_COMPILE, as this doesn't affect plugins -
13213         fixes bug with undefined symbol in libladspaeffect.so
13215         * configure.in:
13216         enable VST-support per default
13218         * include/aeffectx.h:
13219         added Javier's header (with dssi-vst-patch)
13221         * data/lmms:
13222         * data/lmms.desktop:
13223         * data/Makefile.am:
13224         added desktop- and menu-entry-file for LMMS (thanks to Javier for the
13225         latter one on debian-list)
13227 2006-09-23      Mikael Freeman <mikael/dot/freeman/at/mac/dot/se>
13229         * data/locale/sv.ts:
13230         added first Swedish translation (very incomplete)
13232 2006-09-22      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
13234         * plugins/vst_base/lvsl_client.cpp:
13235         m_initialized is now set before calling waitForProcessingFinished(),
13236         makes VST-effects work
13238 2006-09-21      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
13240         * plugins/vst_effect/Makefile.am:
13241         * plugins/vst_effect/logo.png:
13242         * plugins/vst_effect/vst_effect.h:
13243         * plugins/vst_effect/vst_effect.cpp:
13244         * plugins/vst_effect/vst_control_dialog.h:
13245         * plugins/vst_effect/vst_control_dialog.cpp:
13246         * plugins/vst_effect/vst_subplugin_features.h:
13247         * plugins/vst_effect/vst_subplugin_features.cpp:
13248         added plugin for supporting VST-effects inside LMMS - currently very
13249         experimental and incomplete, but it compiles and works somehow ;-)
13251         * plugins/ladspa_effect/Makefile.am:
13252         generating ladspa_effect.moc not needed ynmore
13254         * plugins/vestige/Makefile.am:
13255         - use new vstbase-library
13256         - do not link against X11, as not needed anymore
13258         * plugins/Makefile.am:
13259         * plugins/vst_base/Makefile.am:
13260         * plugins/vst_base/communication.h:
13261         * plugins/vst_base/lvsl_client.h:
13262         * plugins/vst_base/lvsl_client.cpp:
13263         * plugins/vst_base/lvsl_server.c:
13264         * plugins/vst_base/vst_base.cpp:
13265         moved LVSL-code into separate library for allowing multiple
13266         LMMS-plugins to deal with VST-plugins
13268 2006-09-20      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
13270         * plugins/*/*.png:
13271         * data/locale/*.qm:
13272         * data/samples/*:
13273         * data/themes/*:
13274         re-added all binary files as they were corrupted during SVN-migration
13275         for some reason
13277         * configure.in:
13278         * Makefile.am:
13279         * plugins/ladspa_base/*:
13280         * include/config_mgr.h:
13281         * include/engine.h:
13282         * include/setup_dialog.h:
13283         * src/audio/audio_port.cpp:
13284         * src/core/config_mgr.cpp:
13285         * src/core/engine.cpp:
13286         * src/core/setup_dialog.cpp:
13287         * src/lmms_single_source.cpp:
13288         moved all LADSPA-related code into separate library against which LMMS
13289         is linked when compiling with LADSPA-support
13291         * Makefile.cvs:
13292         renamed to Makefile.svn as LMMS-CVS-repo was migrated to subversion
13294 2006-09-18      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
13296         * plugins/vestige/vestige.h:
13297         * plugins/vestige/vestige.cpp:
13298         * plugin/vestige/lvsl_client.h:
13299         * plugin/vestige/lvsl_client.cpp:
13300         take advantage of LMMS' new parallelizing-support - works indeed the
13301         way expected! all VST-servers are now balanced all over available CPUs
13303         * plugins/audio_file_processor/audio_file_processor.h:
13304         * plugins/audio_file_processor/audio_file_processor.cpp:
13305         * plugins/bit_invader/bit_invader.h:
13306         * plugins/bit_invader/bit_invader.cpp:
13307         * plugins/organic/organic.h:
13308         * plugins/organic/organic.cpp:
13309         * plugins/plucked_string_synth/plucked_string_synth.h:
13310         * plugins/plucked_string_synth/plucked_string_synth.cpp:
13311         * plugins/mallets/mallets.h:
13312         * plugins/mallets/mallets.cpp:
13313         * plugins/vestige/vestige.h:
13314         * plugins/vestige/vestige.cpp:
13315         * plugins/vibed/vibed.h:
13316         * plugins/vibed/vibed.cpp:
13317         * include/instrument.h:
13318         * include/instrument_play_handle.h:
13319         * include/mixer.h:
13320         * include/note_play_handle.h:
13321         * include/play_handle.h:
13322         * include/plugin.h:
13323         * include/preset_preview_play_handle.h:
13324         * include/sample_play_handle.h:
13325         * include/setup_dialog.h:
13326         * include/track.h:
13327         * src/core/instrument.cpp:
13328         * src/core/mixer.cpp:
13329         * src/core/plugin.cpp:
13330         * src/core/preset_preview_play_handle.cpp:
13331         * src/core/sample_play_handle.cpp:
13332         * src/core/setup_dialog.cpp:
13333         * src/tracks/instrument_track.cpp:
13334         added first simple support for parallelizing sound-processing for
13335         using full power of SMP-systems (e.g. my new dual-core-notebook :-)
13337 2006-09-17      Javier Serrano Polo <jasp00/at/terra/dot/es>
13339         * include/tempo_sync_knob.h:
13340         fixed save/load segfault in LADSPA controls
13342         * src/core/song_editor.cpp:
13343         fixed looping when processing the audio buffer
13345         * include/timeline.h:
13346         * src/core/timeline.cpp:
13347         update loop points state button when loading a project
13349         * src/core/automation_editor.cpp:
13350         fixed segfault when stopping without pattern
13352 2006-09-17      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
13354         * plugins/audio_file_processor/audio_file_processor.cpp:
13355         * plugins/bit_invader/bit_invader.cpp:
13356         * plugins/flp_import/flp_import.cpp:
13357         * plugins/midi_import/midi_import.cpp:
13358         * plugins/organic/organic.cpp:
13359         * plugins/plucked_string_synth/plucked_string_synth.cpp:
13360         * plugins/mallets/mallets.cpp:
13361         * plugins/vestige/vestige.cpp:
13362         * plugins/vibed/vibed.cpp:
13363         extended plugin-descriptor by sub_plugin_features-field (for
13364         non-effects likely NULL)
13366         * include/audio_port.h:
13367         * include/effect.h:
13368         * include/effect_chain.h:
13369         * include/effect_label.h:
13370         * include/effect_tab_widget.h:
13371         * include/instrument.h:
13372         * include/instrument_track.h:
13373         * include/ladspa_browser.h:
13374         * include/ladspa_manager.h:
13375         * include/main_window.h:
13376         * include/plugin.h:
13377         * include/rack_plugin.h:
13378         * include/rack_view.h:
13379         * include/sample_track.h:
13380         * src/lmms_single_source.cpp:
13381         * src/audio/audio_port.cpp:
13382         * src/core/effect.cpp:
13383         * src/core/effect_chain.cp:
13384         * src/core/effect_tab_widget.cpp:
13385         * src/core/import_filter.cpp:
13386         * src/core/ladspa_browser.cpp:
13387         * src/core/main_window.cpp:
13388         * src/core/mixer.cpp:
13389         * src/core/plugin.cpp:
13390         * src/core/plugin_browser.cpp:
13391         * src/tracks/instrument_track.cpp:
13392         * src/tracks/sample_track.cpp:
13393         * src/widgets/effect_label.cpp:
13394         * src/widgets/ladspa_control.cpp:
13395         * src/widgets/rack_plugin.cpp:
13396         * src/widgets/rack_view.cpp:
13397         added generic effect-framework based on LADSPA-effect-code for using
13398         arbitrary effects inside LMMS and using sub-plugins (such as
13399         LADSPA-plugins) transparently at the same time, now writing of any
13400         other effects an begin
13402         * plugins/ladspa_effect/ladspa_effect.h:
13403         * plugins/ladspa_effect/ladspa_effect.cpp:
13404         * plugins/ladspa_effect/ladspa_control_dialog.h:
13405         * plugins/ladspa_effect/ladspa_control_dialog.cpp:
13406         moved LADSPA-effect-support into separate plugin
13408         * include/dummy_effect.h:
13409         * include/effect_control_dialog.h:
13410         * include/effect_select_dialog.h:
13411         * include/ladspa_base.h:
13412         * include/ladspa_subplugin_features.h:
13413         * src/core/effect_control_dialog.cpp:
13414         * src/core/effect_select_dialog.cpp:
13415         * src/core/ladspa_subplugin_features.cpp:
13416         added (see description above)
13418         * include/ladspa_control_dialog.h:
13419         * include/ladspa_description.h:
13420         * include/ladspa_effect.h:
13421         * include/select_ladspa_dialog.h:
13422         * src/core/ladspa_control_dialog.cpp:
13423         * src/core/ladspa_effect.cpp:
13424         * src/core/select_ladspa_dialog.cpp:
13425         removed
13427         * data/locale/de.ts:
13428         updated German translation
13430         * configure.in:
13431         - do not set wrong VST_SUPPORT-condition if winegcc was found and
13432           --with-vst specified but VST-headers are missing
13433         - LADSPA-support not experimental anymore and enabled per default when
13434           header is found
13435         - use -O2 per default
13437 2006-09-11      Javier Serrano Polo <jasp00/at/terra/dot/es>
13439         * plugins/vestige/lvsl_server.c:
13440         save/load all plugin parameters
13442 2006-09-09      Javier Serrano Polo <jasp00/at/terra/dot/es>
13444         * src/core/automation_editor.cpp:
13445         fixed single source compilation
13447 2006-09-08      Danny McRae <khjklujn/at/users/dot/sourceforge/dot/net>
13449         * configure.in:
13450         fixed check for STK headers and library
13451         
13452         * plugins/stk/mallets/mallets.h:
13453         removed the meaningless index boundary limiter for m_delayRead and
13454         m_delayWrite
13455         
13456         * configure.in:
13457         * plugins/Makefile.am:
13458         * plugins/stk/Makefile.am:
13459         began work on supporting STK instruments
13461         * plugins/stk/mallets/Makefile.am:
13462         * plugins/stk/mallets/artwork.png:
13463         * plugins/stk/mallets/logo.png:
13464         * plugins/stk/mallets/mallets.h:
13465         * plugins/stk/mallets/mallets.cpp:
13466         added mallets instrument
13467         
13468         * include/config_mgr.h:
13469         * src/core/config_mgr.cpp:
13470         * include/setup_dialog.h:
13471         * src/core/setup_dialog.cpp:
13472         added STK rawwave to directory selector
13473         
13474 2006-09-03      Thomas Girard <thomas/dot/g/dot/girard/at/free/dot/fr>
13476         * src/core/file_browser.cpp:
13477         fixed bad project browsing segfault
13479 2006-09-03      Javier Serrano Polo <jasp00/at/terra/dot/es>
13481         * include/bb_track.h:
13482         * src/core/track.cpp:
13483         integrated Toby's Qt4 fixes
13485         * src/widgets/tempo_sync_knob.cpp:
13486         - integrated Toby's Qt4 fixes
13487         - connect the meter dialog only when custom sync
13488         - don't set the modified flag on automated changes
13490         * src/core/song_editor.cpp:
13491         - integrated Toby's Qt4 fixes
13492         - rely on objects to set the modified flag
13494         * src/core/meter_dialog.cpp:
13495         added names to display in the automation editor
13497 2006-09-03      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
13499         * acinclude.m4:
13500         * include/effect_tab_widget.h:
13501         * include/ladspa_description.h:
13502         * include/qt3support.h:
13503         * include/rack_view.h:
13504         * include/track.h:
13505         * src/audio/audio_device.cpp:
13506         * src/core/automation_editor.cpp:
13507         * src/core/effect_tab_widget.cpp:
13508         * src/core/envelope_and_lfo_widget.cpp:
13509         * src/core/ladspa_control_dialog.cpp:
13510         * src/core/ladspa_effect.cpp:
13511         * src/core/ladspa_port_dialog.cpp:
13512         * src/core/name_label.cpp:
13513         * src/core/note.cpp:
13514         * src/core/piano_roll.cpp:
13515         * src/lib/ladspa_2_lmms.cpp:
13516         * src/lib/ladspa_manager.cpp:
13517         * src/tracks/automation_pattern.cpp:
13518         * src/tracks/instrument_track.cpp:
13519         * src/widgets/effect_label.cpp:
13520         * src/widgets/ladspa_control.cpp:
13521         * src/widgets/ladspa_description.cpp:
13522         * src/widgets/rack_plugin.cpp:
13523         * src/widgets/rack_view.cpp:
13524         * src/widgets/volume_knob.cpp:
13525         Qt4-compat fixes
13527 2006-08-30      Danny McRae <khjklujn/at/users/dot/sourceforge/dot/net>
13529         * src/widgets/ladspa_control.cpp:
13530         added a lock to prevent segfaults when changing the values
13531         while playing
13532         
13533         * src/core/ladspa_effect.cpp:
13534         corrected the labeling of "(ms)" which were showing up as
13535         "(ms))"
13536         
13537         * Makefile.am:
13538         * src/lmms_single_source.cpp:
13539         * include/meter_dialog.h:
13540         * src/core/meter_dialog.cpp:
13541         * include/tempo_sync_knob.h:
13542         * src/widgets/tempo_sync_knob:
13543         added user definable settings for tempo sync
13544         
13545         * src/core/arp_and_chords_tab_widget.cpp:
13546         - changed arp time knob to save using new tempo sync format
13547         - fixed a bug that was preventing the arp groupbox state from
13548           being restored properly
13549         
13550         * src/core/envelope_and_lfo_widget.cpp:
13551         changed lfo time knob to save using new tempo sync format
13552         
13553 2006-08-28      Javier Serrano Polo <jasp00/at/terra/dot/es>
13555         * COPYING:
13556         updated GPL
13558         * README:
13559         * source files:
13560         updated FSF address
13562         * depcomp:
13563         removed generated file
13565         * mkinstalldirs:
13566         removed auxiliary automake file
13568 2006-08-27      Javier Serrano Polo <jasp00/at/terra/dot/es>
13570         * include/automation_track.h:
13571         * include/bb_editor.h:
13572         * include/bb_track.h:
13573         * include/instrument_track.h:
13574         * include/sample_track.h:
13575         * src/core/bb_editor.cpp:
13576         * src/core/song_editor.cpp:
13577         * src/tracks/automation_track.cpp:
13578         * src/tracks/bb_track.cpp:
13579         * src/tracks/sample_track.cpp:
13580         removed start frame from play() methods
13582         * src/tracks/instrument_track.cpp:
13583         - removed start frame from play() methods
13584         - removed checks when sending automation events
13586         * include/track.h:
13587         - removed start frame from play() methods
13588         - removed checks when sending automation events
13589         - use update() instead of repaint()
13591         * src/core/track.cpp:
13592         - fixed no bb-track case
13593         - removed checks when sending automation events
13594         - use update() instead of repaint()
13596         * src/core/track_container.cpp:
13597         * src/widgets/kmultitabbar.cpp:
13598         * src/widgets/text_float.cpp:
13599         use update() instead of repaint()
13601         * include/automation_editor.h:
13602         * include/piano_roll.h:
13603         * src/core/automation_editor.cpp:
13604         * src/core/piano_roll.cpp:
13605         moved update() reimplementations to methods called from paintEvent()
13607         * include/envelope_and_lfo_widget.h:
13608         * src/core/envelope_tab_widget.cpp:
13609         optimized envelope and LFO computations
13611         * src/core/envelope_and_lfo_widget.cpp:
13612         - optimized envelope and LFO computations
13613         - separated sample variables updates from paint events
13615         * include/combobox.h:
13616         clear the menu when the combobox is cleared
13618         * src/midi/midi_alsa_seq.cpp:
13619         clean-up properly
13621 2006-08-24      Javier Serrano Polo <jasp00/at/terra/dot/es>
13623         * include/shared_object.h:
13624         initial release, shared object for use among threads
13626         * include/sample_buffer.h:
13627         became a shared object
13629         * src/tracks/instrument_track.cpp:
13630         use sample handles to play frozen patterns, fixes crackling
13632         * include/pattern.h:
13633         * src/tracks/pattern.cpp:
13634         allow access to the frozen pattern
13636         * include/sample_play_handle.h:
13637         * src/core/sample_play_handle.cpp:
13638         - react to bb-track mute automation
13639         - added constructor to handle frozen patterns
13640         - use shared sample buffers
13642         * include/instrument_track.h:
13643         getAudioPort() is required
13645         * include/sample_track.h:
13646         * src/tracks/sample_track.cpp:
13647         - removed obsolete play() in sampleTCO
13648         - use shared sample buffers
13650         * src/core/envelope_and_lfo_widget.cpp:
13651         fixed load settings deadlock
13653         * src/audio/audio_device.cpp:
13654         graceful shutdown
13656         * include/midi_alsa_seq.h:
13657         * src/midi/midi_alsa_seq.cpp:
13658         added pipe to detect shutdown
13660         * Makefile.am:
13661         added shared object
13663 2006-08-22      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
13665         * configure.in:
13666         - changed package-maintainer-email-address to lmms-devel-list
13667         - removed -floop-optimization2-flag as it is deprecated and not
13668           supported by coming GCC 4.2
13670 2006-08-20      Javier Serrano Polo <jasp00/at/terra/dot/es>
13672         * include/envelope_and_lfo_widget.h:
13673         * src/core/envelope_and_lfo_widget.cpp:
13674         * src/core/envelope_tab_widget.cpp:
13675         changed busy flag into busy mutex, improves thread safety
13677 2006-08-18      Javier Serrano Polo <jasp00/at/terra/dot/es>
13679         * src/core/bb_editor.cpp:
13680         removed disabled tracks
13682         * src/tracks/instrument_track.cpp:
13683         added automation disabled
13685         * include/bb_track.h:
13686         * include/track.h:
13687         * src/core/track.cpp:
13688         * src/tracks/bb_track.cpp:
13689         renamed disabled track logic to automation disabled
13691         * include/pattern.h:
13692         * src/tracks/pattern.cpp:
13693         added empty() to check whether there is any relevant note
13695         * src/lib/oscillator.cpp:
13696         check user waveform presence, fixes organic segfault
13698         * src/core/name_label.cpp:
13699         changed icon selection, fixes loss of icon
13701 2006-08-17      Erwin Goossen <egoossen/at/tomaatnet/dot/nl>
13703         * data/locale/nl.ts:
13704         updated Dutch translation
13706 2006-08-16      Danny McRae <khjklujn/at/users/dot/sourceforge/dot/net>
13708         * src/widgets/tempo_sync_knob.cpp:
13709         changed context menu to only display possible note length
13710         options based on the knob's max value
13711         
13712         * include/ladspa_effect.h:
13713         * src/core/ladspa_effect.cpp:
13714         - added a new port data type TIME for port names containing
13715           "(ms)", "(S)", or "(Seconds)"
13716         - converts units to milliseconds for TIME ports
13717         
13718         * src/widgets/ladspa_control.cpp:
13719         use a tempoSyncKnob for TIME ports
13720         
13721         * src/widgets/automatable_button.cpp:
13722         remove toggled signal sent from method toggle--it's also sent
13723         from setValue, and the double signal was wreaking havoc with
13724         the channel linkings
13725         
13726         * include/ladspa_control.h:
13727         * include/ladspa_control_dialog.h:
13728         * src/core/ladspa_control_dialog.cpp:
13729         * src/widgets/ladspa_control.cpp:
13730         * src/widgets/rack_plugin.cpp:
13731         - added channel link selectors for individual ports
13732         - don't show control edit button for plugins with no controls
13733         
13734 2006-08-16      Erwin Goossen <egoossen/at/tomaatnet/dot/nl>
13736         * data/locale/nl.ts:
13737         added Dutch translation
13739 2006-08-15      Javier Serrano Polo <jasp00/at/terra/dot/es>
13741         * include/automatable_object.h:
13742         fixed unlinking objects
13744         * include/automation_pattern.h:
13745         added constructor for unlinking objects
13747         * src/tracks/automation_pattern.cpp:
13748         - added constructor for unlinking objects
13749         - don't remove value at position 0
13751         * INSTALL:
13752         * Makefile.cvs:
13753         * install-sh:
13754         * missing:
13755         removed more generated files
13757 2006-08-15      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
13759         * src/widgets/knob.cpp:
13760         support for linking knobs using <Shift> + drag'n'drop (note that
13761         connetions are not saved!)
13763 2006-08-15      Danny McRae <khjklujn/at/users/dot/sourceforge/dot/net>
13765         * src/widgets/ladspa_control.cpp:
13766         doubled the number of steps in the knobs
13767         
13768         * src/core/ladspa_control_dialog.cpp:
13769         changed linking to default on
13770         
13771         * data/themes/default/effect_plugin.png:
13772         * src/widgets/rack_plugin.cpp:
13773         * src/widgets/rack_view.cpp:
13774         added some texture to the plugin widget
13775         
13776         * src/core/ladspa_control_dialog.cpp:
13777         save and restore the channel link state
13778         
13779         * src/widgets/rack_plugin.cpp:
13780         added deletion of the control view to the dtor to make it clean
13781         up after itself
13782         
13783         * include/automatable_object.h:
13784         * include/ladspa_control.h:
13785         * include/ladspa_control_dialog.h:
13786         * src/core/ladspa_control_dialog.cpp:
13787         * src/core/ladspa_control.cpp:
13788         - added a link channels option to the ladspa controls
13789         
13790         * All of the effects related files:
13791         reformatted to respect the 80 characters per line convention
13792         
13793 2006-08-15      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
13795         * Makefile.cvs:
13796         small makefile to be run before configure for creating/copying all
13797         necessary files
13799         * config.sub:
13800         * config.guess:
13801         * configure:
13802         * config.h.in:
13803         * ltmain.sh:
13804         removed
13806 2006-08-14      Danny McRae <khjklujn/at/users/dot/sourceforge/dot/net>
13808         * Makefile.am:
13809         * include/ladspa_effect.h:
13810         * src/core/ladspa_effect.cpp:
13811         * include/effect.h:
13812         * include/effect_chain.h:
13813         * include/ladspa_browser:
13814         * include/ladspa_control_dialog.h:
13815         * include/rack_plugin.h:
13816         * select_ladspa_dialog.h:
13817         * src/core/effect.cpp:
13818         * src/core/effect_chain.cpp:
13819         * src/core/ladspa_browser.cpp:
13820         * src/core/ladspa_control_dialog.cpp:
13821         * src/core/select_ladspa_dialog.cpp:
13822         * src/tracks/instrument_track.cpp:
13823         * src/tracks/sample_track.cpp:
13824         * src/widgets/ladspa_control.cpp:
13825         * src/widgets/rack_plugin.cpp:
13826         - separated ladspa specific stuff into a class derived from
13827           effect
13828         - changed the default value range for unhinted ports from
13829           (-99999,99999) to (0,1)
13831 2006-08-13      Javier Serrano Polo <jasp00/at/terra/dot/es>
13833         * src/tracks/sample_track.cpp:
13834         moved playing to samplePlayHandle, removes crackling
13836         * include/sample_track.h:
13837         - allow sample buffer access
13838         - getAudioPort() is required
13839         - removed slots, moved playing to samplePlayHandle
13841         * include/sample_play_handle.h:
13842         * src/core/sample_play_handle.cpp:
13843         - became a QObject
13844         - create handle from sampleTCO
13845         - fill audio buffer from the requested base frame
13846         - made automation-awared
13848         * Makefile.am:
13849         samplePlayHandle is now a QObject
13851         * include/sample_buffer.h:
13852         - use fast sample generation, rely on proper waveforms
13853         - removed locks in sample generation
13854         - added lock methods for use in higher levels
13856         * src/lib/oscillator.cpp:
13857         lock user waveform once per loop
13859         * data/samples/shapes/low_sine.wav:
13860         low frequency sine for use in the oscillator
13862         * include/lmms_math.h:
13863         added fast pseudo-random integer generator
13865         * include/oscillator.h:
13866         - use fast noise generation
13867         - simplified user-wave call, frames must never be 0
13869         * include/basic_filters.h:
13870         - added minQ "constant"
13871         - limit Q resonance
13873         * src/core/envelope_tab_widget.cpp:
13874         added minQ "constant"
13876 2006-08-10      Danny McRae <khjklujn/at/users/dot/sourceforge/dot/net>
13878         * src/widgets/ladspa_control.cpp:
13879         unfixed my misunderstood fix of the setting of sample rate
13880         dependent ports
13881         
13882         * src/core/mixer:
13883         got rid of the "more_effect |= ..." nonsense
13884         
13885         * src/widgets/effect_label.cpp:
13886         * src/widgets/rack_plugin.cpp:
13887         changed the parenting of the control dialog to main window
13888         instead of NULL
13890 2006-08-11      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
13892         * configure.in:
13893         added check for ctype.h to make LMMS work on Zenwalk-systems
13895 2006-08-10      Javier Serrano Polo <jasp00/at/terra/dot/es>
13897         * include/bb_track.h:
13898         * include/track.h:
13899         * src/core/bb_editor.cpp:
13900         added disabled tracks
13902         * src/tracks/bb_track.cpp:
13903         - added disabled tracks
13904         - fixed BB-track 0 cloning bug
13906         * src/core/track.cpp:
13907         - added disabled tracks
13908         - update track operations menu
13909         - simplified engine access
13910         - fixed BB-track 0 cloning bug
13911         - improved removing automation patterns
13913         * include/track_container.h:
13914         - moved tracks() to public
13915         - added node name
13917         * src/core/track_container.cpp:
13918         added node name
13920         * data/themes/default/mute_on_disabled.png:
13921         * data/themes/default/track_op_menu_disabled.png:
13922         * data/themes/default/mute_off_disabled.png:
13923         * resources/mute_on_disabled.png:
13924         * resources/track_op_menu_disabled.png:
13925         * resources/mute_off_disabled.png:
13926         added disabled track artwork
13928 2006-08-10      Danny McRae <khjklujn/at/users/dot/sourceforge/dot/net>
13930         * include/effect.h:
13931         * include/effect_chain.h:
13932         * include/effect_label.h:
13933         * include/effect_tab_widget.h:
13934         * include/ladspa_control.h:
13935         * include/ladspa_control_dialog.h:
13936         * include/ladspa_description.h:
13937         * include/rack_plugin.h:
13938         * include/rack_view.h:
13939         * src/core/effect.cpp:
13940         * src/core/effect_tab_widget.cpp:
13941         * src/core/ladspa_port_dialog.cpp:
13942         * src/core/ladspa_control_dialog.cpp:
13943         * src/widgets/ladspa_description.cpp:
13944         * src/widgets/rack_plugin.cpp:
13945         * src/widgets/rack_view.cpp:
13946         added Qt4 includes
13948         * include/config_mgr.h:
13949         * include/setup_dialog.h:
13950         * src/core/config_mgr.cpp:
13951         * src/core/setup_dialog.cpp:
13952         * src/lib/ladspa_manager.cpp:
13953         -added ladspa search path to user configuration
13954         -made ladspa loader ignore all files not ending in "so"
13956         * include/effect.h:
13957         * src/core/effect.cpp:
13958         * src/widgets/ladspa_control.cpp:
13959         corrected an error in setting the values for sample rate
13960         dependent ports
13962         the crackling in the sample tracks is due to rounding errors
13963         in the calculation of _start_frame in sampleTrack::play that
13964         cause it to occasionally skip a sample.  Don't know what to
13965         do about it--just thought it should be noted somewhere.
13967 2006-08-09      Danny McRae <khjklujn/at/users/dot/sourceforge/dot/net>
13969         * Makefile.am:
13970         * include/effect_label.h:
13971         * include/effect_tab_widget.h:
13972         * include/instrument_track.h:
13973         * include/ladspa_control.h:
13974         * include/ladspa_control_dialog.h:
13975         * include/rack_plugin.h:
13976         * include/rack_view.h:
13977         * src/lmms_single_source.cpp:
13978         * src/audio/audio_port.cpp:
13979         * src/core/effect.cpp:
13980         * src/core/effect_tab_widget.cpp:
13981         * src/core/ladspa_control_dialog.cpp:
13982         * src/core/ladspa_port_dialog.cpp:
13983         * src/tracks/instrument_track.cpp:
13984         * src/tracks/sample_track.cpp:
13985         * src/widgets/ladspa_control.cpp:
13986         * src/widgets/rack_plugin.cpp:
13987         * src/widgets/rack_view.cpp:
13988         -full save and load
13989         -added effects to sample tracks
13990         -fixed the knob twoddling segfaults (hopefully)
13991         -somewhere between 0.2.1 and yesterday a crackling has been
13992          introduced in the sample tracks.  My largish checkins
13993          look like an obvious culprit, but it would have to be
13994          something I forgot to #ifdef LADSPA_SUPPORT out.
13996 2006-08-08      Danny McRae <khjklujn/at/users/dot/sourceforge/dot/net>
13998         * include/effect.h:
13999         * include/effect_chain.h:
14000         * include/effect_tab_widget.h:
14001         * include/ladspa_browser.h:
14002         * include/ladspa_control.h:
14003         * include/ladspa_control_dialog.h:
14004         * include/rack_plugin.h:
14005         * include/rack_view.h:
14006         * src/core/effect.cpp:
14007         * src/core/effect_chain.cpp:
14008         * src/core/effect_tab_widget.cpp:
14009         * src/core/ladspa_browser.cpp:
14010         * src/core/ladspa_control_dialog.cpp:
14011         * src/tracks/instrument_track.cpp:
14012         * src/widgets/ladspa_control.cpp:
14013         * src/widgets/rack_plugin.cpp:
14014         * src/widgets/rack_view.cpp:
14015         -added ability to change the order of effects or delete them
14016         -partial save and load support
14017         -still getting spurious segfaults when twoddling with knobs,
14018          the textFloat associated with the knob is being reparented to
14019          NULL(?!), but works well enough to at least hear what things
14020          sound like with effects
14022 2006-08-07      Danny McRae <khjklujn/at/users/dot/sourceforge/dot/net>
14024         * include/oscillator.h:
14025         * plugins/vibed/vibrating_string.h:
14026         * plugins/vibed/vibrating_string.cpp:
14027         clean up some things that were preventing the getNextSample
14028         methods from being inlined
14030         * configure:
14031         * configure.in:
14032         -made ladspa support default off
14033         -must pass --with-ladspa to get it to build
14035         * Makefile.am:
14036         * data/themes/default/add.png:
14037         * data/themes/default/analysis.png:
14038         * data/themes/default/ports.png:
14039         * data/themes/default/uhoh.png:
14040         * data/themes/default/unavailable_sound.png:
14041         * data/themes/blue_scene/add.png:
14042         * data/themes/blue_scene/analysis.png:
14043         * data/themes/blue_scene/ports.png:
14044         * data/themes/blue_scene/uhoh.png:
14045         * data/themes/blue_scene/unavailable_sound.png:
14046         * include/audio_port.h:
14047         * include/effect_chain.h:
14048         * include/effect_tab_widget.h:
14049         * include/effect.h:
14050         * include/engine.h:
14051         * include/group_box.h:
14052         * include/instrument_track.h:
14053         * include/ladspa_2_lmms.h:
14054         * include/ladspa_browser.h:
14055         * include/ladspa_control.h:
14056         * include/ladspa_control_dialog.h:
14057         * include/ladspa_description.h:
14058         * include/ladspa_manager.h:
14059         * include/ladspa_port_dialog.h:
14060         * include/main_window.h:
14061         * include/rack_plugin.h:
14062         * include/rack_view.h:
14063         * include/select_ladspa_dialog.h:
14064         * src/lmms_single_source.cpp:
14065         * src/audio/audio_port.cpp:
14066         * src/core/effect_chain.cpp:
14067         * src/core/effect_tab_widget.cpp:
14068         * src/core/effect.cpp:
14069         * src/core/engine.cpp:
14070         * src/core/ladspa_browser.cpp:
14071         * src/core/ladspa_control.cpp:
14072         * src/core/ladspa_port_dialog.cpp:
14073         * src/core/main_window.cpp:
14074         * src/core/mixer.cpp:
14075         * src/core/select_ladspa_dialog.cpp:
14076         * src/lib/ladspa_2_lmms.cpp:
14077         * src/lib/ladspa_manager.cpp:
14078         * src/tracks/instrument_track.cpp:
14079         * src/widgets/group_box.cpp:
14080         * src/widgets/ladspa_control.cpp:
14081         * src/widgets/ladspa_description.cpp:
14082         * src/widgets/rack_plugin.cpp:
14083         * src/widgets/rack_view.cpp:
14084         -added preliminary support for ladspa effects
14085         -no load or save
14086         -expect segfaults
14088 2006-08-07      Javier Serrano Polo <jasp00/at/terra/dot/es>
14090         * include/lcd_spinbox.h:
14091         added manualChange signal
14093         * src/widgets/lcd_spinbox.cpp:
14094         - added manualChange signal
14095         - emit valueChanged whenever value is changed
14096         - removed redundant journalling operations
14098         * src/core/song_editor.cpp:
14099         - set modified flag if there's a manual BPM change
14100         - set tempo if BPM value has changed
14101         - allow further processing on muted tracks
14103         * include/note_play_handle.h:
14104         * src/core/note_play_handle.cpp:
14105         * src/tracks/instrument_track.cpp:
14106         added bbTrack reference to check whether it's muted
14108         * src/tracks/bb_track.cpp:
14109         send automation events
14111         * include/mixer.h:
14112         * src/core/mixer.cpp:
14113         fixed overflow when using big audio buffers
14115         * plugins/audio_file_processor/audio_file_processor.cpp:
14116         use automation in start-/end-point knobs
14118         * plugins/vibed/vibed.cpp:
14119         fixed reversed pan
14121 2006-08-06      Javier Serrano Polo <jasp00/at/terra/dot/es>
14123         * include/engine.h:
14124         * include/midi_time.h:
14125         * src/core/engine.cpp:
14126         * src/core/note_play_handle.cpp:
14127         * src/tracks/bb_track.cpp:
14128         * src/tracks/sample_track.cpp:
14129         frames computation based on 64th of a tact, fixes BB-pattern arbitrary
14130         positioning in song editor
14132         * include/song_editor.h:
14133         * src/core/song_editor.cpp:
14134         - frames computation based on 64th of a tact
14135         - changed playPos frame counter to float, improves timing precision
14137         * src/tracks/instrument_track.cpp:
14138         - frames computation based on 64th of a tact
14139         - simplified note playing
14141 2006-08-03      Javier Serrano Polo <jasp00/at/terra/dot/es>
14143         * src/core/automation_editor.cpp:
14144         - fixed vertical bars in Auto view
14145         - fixed selection frame drawing
14146         - renamed some members and variables
14148         * include/automation_editor.h:
14149         renamed some members
14151 2006-08-01      Javier Serrano Polo <jasp00/at/terra/dot/es>
14153         * include/automation_editor.h:
14154         added "Auto" view
14156         * src/core/automation_editor.cpp:
14157         - added "Auto" view
14158         - improved labels display
14159         - removed duplicate variable y_base
14161         * include/song_editor.h:
14162         * src/core/engine.cpp:
14163         * src/core/song_editor.cpp:
14164         - moved framesPerTact() from songEditor to engine
14165         - update frames per tact only when changes happen
14167         * include/engine.h:
14168         * src/core/note_play_handle.cpp:
14169         * src/tracks/bb_track.cpp:
14170         * src/tracks/instrument_track.cpp:
14171         * src/tracks/sample_track.cpp:
14172         moved framesPerTact() from songEditor to engine
14174 2006-07-27      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
14176         * configure.in:
14177         made 0.2.1 release
14179         * include/mixer.h:
14180         * include/visualization_widget.h:
14181         * src/widgets/visualization_widget.cpp:
14182         fixed a bug in connection between mixer and visualization-widget
14184 2006-07-24      Javier Serrano Polo <jasp00/at/terra/dot/es>
14186         * src/tracks/instrument_track.cpp:
14187         handle notes deleted when keys still pressed
14189         * include/song_editor.h:
14190         * src/core/note.cpp:
14191         * src/core/song_editor.cpp:
14192         added checks to avoid segfaults when closing the application
14194 2006-07-23      Javier Serrano Polo <jasp00/at/terra/dot/es>
14196         * src/core/piano_widget.cpp:
14197         initialize m_lastKey, fixes segfault
14199         * src/core/automation_editor.cpp:
14200         * src/core/note_play_handle.cpp:
14201         added checks to avoid segfaults when closing the application
14203 2006-07-22      Javier Serrano Polo <jasp00/at/terra/dot/es>
14205         * include/automatable_object.h:
14206         avoid unnecessary level updates
14208         * include/track.h:
14209         * src/tracks/instrument_track.cpp:
14210         trigger automation only when time has changed
14212         * src/core/track.cpp:
14213         - trigger automation only when time has changed
14214         - remove references from patterns when closing the application
14216         * include/automation_pattern.h:
14217         added method to avoid segfaults when closing the application
14219         * src/tracks/automation_pattern.cpp:
14220         - added check to avoid segfaults when closing the application
14221         - reverted processMidiTime(), that processing is needed
14223         * src/core/track_container.cpp:
14224         * src/lib/journalling_object.cpp:
14225         added checks to avoid segfaults when closing the application
14227         * include/engine.h:
14228         * src/core/engine.cpp:
14229         - do the clean-up in close()
14230         - ensure deleted elements aren't accessed
14232         * src/core/main_window.cpp:
14233         close the engine rather than delete it
14235         * include/instrument_track.h:
14236         allow access to the piano widget
14238         * include/piano_widget.h:
14239         moved key event handlers to public
14241         * include/piano_roll.h:
14242         redirect events to the piano widget
14244         * src/core/piano_roll.cpp:
14245         - changed some accelerators
14246         - redirect keyboard events to the piano widget
14247         - fixed segfault when pressing Ctrl with no pattern
14249         * src/core/automation_editor.cpp:
14250         changed some accelerators
14252         * src/core/song_editor.cpp:
14253         play the automation track only when playing song
14255         * include/automation_track.h:
14256         removed unused signal section
14258         * data/locale/ca.ts:
14259         updated translation
14261 2006-07-21      Danny McRae <khjklujn/at/users/dot/sourceforge/dot/net>
14263         * configure.in:
14264         - removed -fomit-frame-pointer flag--causes wine to crash on
14265           Ubuntu
14266         - added check for gcc 4.0 for optimization flags--left it
14267           commented out--needs to be tested with 4.1
14269 2006-07-20      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
14271         * src/tracks/automation_pattern.cpp:
14272         automationPattern::processMidiTime(): do not start search on time-map if
14273         empty - find() on maps is horribly slow and makes LMMS unusable (still
14274         have to find a better solution without any find()s at all)
14276 2006-07-19      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
14278         * configure.in:
14279         - added optimization-flags
14280         - made 0.2.0 release
14282         * vst_sdk23_headers.diff:
14283         - removed as not needed anymore
14285 2006-07-17      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
14287         * data/locale/de.ts:
14288         * data/locale/de.qm:
14289         updated German translation
14291         * include/automation_editor.h:
14292         decreased DEFAULT_Y_DELTA
14294         * plugins/flp_import/flp_import.cpp:
14295         removed some obsolete code
14297 2006-07-17      dieEasy <dieeasy/at/cheapnet/dot/it>
14299         * locale/it.ts:
14300         updated Italian translation
14302 2006-07-16      Javier Serrano Polo <jasp00/at/terra/dot/es>
14304         * data/themes/default/automation.png:
14305         * resources/automation.png:
14306         * src/core/automation_editor.cpp:
14307         * src/core/main_window.cpp:
14308         * src/core/piano_roll.cpp:
14309         * src/core/piano_widget.cpp:
14310         * src/core/surround_area.cpp:
14311         * src/widgets/automatable_button.cpp:
14312         * src/widgets/automatable_slider.cpp:
14313         * src/widgets/combobox.cpp:
14314         * src/widgets/knob.cpp:
14315         * src/widgets/lcd_spinbox.cpp:
14316         * src/widgets/tempo_sync_knob.cpp:
14317         added automation icon
14319 2006-07-15      Javier Serrano Polo <jasp00/at/terra/dot/es>
14321         * data/locale/ca.ts:
14322         updated translation
14324         * src/core/automation_editor.cpp:
14325         corrected help sentence
14327 2006-07-14      Javier Serrano Polo <jasp00/at/terra/dot/es>
14329         * include/note.h:
14330         * src/core/note.cpp:
14331         - added detuning knob
14332         - added explicit constructor from another note
14334         * include/note_play_handle.h:
14335         * src/core/note_play_handle.cpp:
14336         handle detuning automation
14338         * include/instrument_track.h:
14339         send a signal when handling automation
14341         * src/tracks/instrument_track.cpp:
14342         - send a signal when handling automation
14343         - use note detuning to calculate frequency
14345         * src/core/arp_and_chords_tab_widget.cpp:
14346         extended detuning to chords and arpeggios
14348         * include/automation_pattern.h:
14349         * src/tracks/automation_pattern.cpp:
14350         - automation pattern can be initialized without track
14351         - slots moved to public
14353         * include/automatable_object.h:
14354         automation pattern can be initialized without track
14356         * src/core/song_editor.cpp:
14357         * src/widgets/automatable_slider.cpp:
14358         updated clear automation method name
14360         * include/piano_roll.h:
14361         added open (note in editor) mode and support methods
14363         * src/core/piano_roll.cpp:
14364         - added open (note in editor) mode and support methods
14365         - clone detuning knobs when copying/pasting notes
14367         * src/core/automation_editor.cpp:
14368         - improved display when no pattern
14369         - play buttons can be used to play related note patterns
14370         - improved play/pause button display
14372 2006-07-10      Javier Serrano Polo <jasp00/at/terra/dot/es>
14374         * include/combobox.h:
14375         * src/widgets/combobox.cpp:
14376         - use automation capabilities
14377         - added context menu
14379         * src/core/arp_and_chords_tab_widget.cpp:
14380         * src/core/automation_editor.cpp:
14381         * src/core/envelope_tab_widget.cpp:
14382         * src/core/export_project_dialog.cpp:
14383         * src/core/piano_roll.cpp:
14384         upgraded combo boxes
14386         * src/core/bb_editor.cpp:
14387         - upgraded combo box
14388         - improved bb-track management
14390         * src/tracks/bb_track.cpp:
14391         - update bb editor combo box when removed
14392         - moving track is the active one
14394         * src/core/song_editor.cpp:
14395         - upgraded combo box
14396         - use default template to create new projects
14398         * include/main_window.h:
14399         * src/core/main_window.cpp:
14400         - added user templates to templates menu
14401         - update templates menu when accessed
14403 2006-07-09      Javier Serrano Polo <jasp00/at/terra/dot/es>
14405         * include/piano_widget.h:
14406         * src/core/piano_widget.cpp:
14407         - use automation capabilities using a helper knob
14408         - added context menu
14409         - added save/load methods
14410         - use raw keycodes to play the piano
14412         * include/instrument_track.h:
14413         * src/tracks/instrument_track.cpp:
14414         - don't set song modified flag when playing automation
14415         - use piano widget save/load methods
14417 2006-07-08      Javier Serrano Polo <jasp00/at/terra/dot/es>
14419         * include/automation_track.h:
14420         * src/tracks/automation_track.cpp:
14421         initial release, to handle automation of objects without a track
14423         * include/lcd_spinbox.h:
14424         * src/widgets/lcd_spinbox.cpp:
14425         - use automation capabilities
14426         - added context menu
14428         * include/automatable_slider.h:
14429         * src/widgets/automatable_slider.cpp:
14430         initial release, slider with automation
14432         * include/song_editor.h:
14433         * src/core/song_editor.cpp:
14434         - use automatable sliders
14435         - use automation track
14436         - upgraded lcd spin box
14437         - joined some slider creation code between QT versions
14438         - show slider status on manual change only
14440         * include/track.h:
14441         * src/core/track.cpp:
14442         added automation track
14444         * src/audio/audio_alsa.cpp:
14445         * src/audio/audio_jack.cpp:
14446         * src/audio/audio_oss.cpp:
14447         * src/core/midi_tab_widget.cpp:
14448         * src/tracks/instrument_track.cpp:
14449         upgraded lcd spin boxes
14451         * include/automatable_object.h:
14452         check whether the automation editor has been created
14454         * src/core/surround_area.cpp:
14455         fixed position rounding
14457         * Makefile.am:
14458         * src/lmms_single_source.cpp:
14459         added automatable_slider and automation_track
14461 2006-07-03      Javier Serrano Polo <jasp00/at/terra/dot/es>
14463         * plugins/audio_file_processor/audio_file_processor.cpp:
14464         removed all automation
14466         * src/widgets/automatable_button.cpp:
14467         button groups may not use automation
14469         * src/widgets/knob.cpp:
14470         knobs may not use automation
14472         * include/automatable_object.h:
14473         - moved update flag to automation pattern
14474         - moved nullTrack() to public
14476         * include/automation_pattern.h:
14477         * src/tracks/automation_pattern.cpp:
14478         moved update flag from automatable object
14480 2006-07-02      Javier Serrano Polo <jasp00/at/terra/dot/es>
14482         * include/surround_area.h:
14483         * src/core/surround_area.cpp:
14484         - use automation capabilities using helper knobs
14485         - added context menu
14486         - added save/load methods
14488         * include/instrument_track.h:
14489         * src/tracks/instrument_track.cpp:
14490         use upgraded surround area
14492         * include/automatable_button.h:
14493         * src/widgets/automatable_button.cpp:
14494         - use automation capabilities in button and button group
14495         - added button context menu
14497         * include/group_box.h:
14498         * include/led_checkbox.h:
14499         * include/pixmap_button.h:
14500         * plugins/audio_file_processor/audio_file_processor.cpp:
14501         * plugins/vestige/vestige.cpp:
14502         * plugins/vibed/impulse_editor.cpp:
14503         * plugins/vibed/impulse_editor.h:
14504         * plugins/vibed/nine_button_selector.cpp:
14505         * plugins/vibed/nine_button_selector.h:
14506         * plugins/vibed/vibed.cpp:
14507         * src/core/envelope_tab_widget.cpp:
14508         * src/core/export_project_dialog.cpp:
14509         * src/core/midi_tab_widget.cpp:
14510         * src/core/setup_dialog.cpp:
14511         * src/core/track.cpp:
14512         * src/widgets/group_box.cpp:
14513         * src/widgets/led_checkbox.cpp:
14514         * src/widgets/pixmap_button.cpp:
14515         upgraded buttons
14517         * plugins/bit_invader/bit_invader.cpp:
14518         - upgraded buttons
14519         - use sample length knob automation
14521         * plugins/organic/organic.cpp:
14522         - upgraded button
14523         - use waveshape knob automation
14525         * plugins/triple_oscillator/triple_oscillator.cpp:
14526         * src/core/arp_and_chords_tab_widget.cpp:
14527         * src/core/envelope_and_lfo_widget.cpp:
14528         upgraded buttons and button groups
14530         * include/automatable_object.h:
14531         - moved getAutomationPattern to public
14532         - added some checks and minor fixes
14534         * src/core/automation_editor.cpp:
14535         improved levels display
14537         * src/core/song_editor.cpp:
14538         save/load automation editor state
14540         * src/widgets/tempo_sync_knob.cpp:
14541         added automation editor option in context menu
14543 2006-06-29      Javier Serrano Polo <jasp00/at/terra/dot/es>
14545         * Makefile.am:
14546         * include/automation_editor.h:
14547         * include/automation_pattern.h:
14548         * include/engine.h:
14549         * include/main_window.h:
14550         * include/song_editor.h:
14551         * include/time_pattern.h:
14552         * include/time_roll.h:
14553         * include/track.h:
14554         * src/lmms_single_source.cpp:
14555         * src/core/automation_editor.cpp:
14556         * src/core/engine.cpp:
14557         * src/core/main_window.cpp:
14558         * src/core/time_roll.cpp:
14559         * src/core/track.cpp:
14560         * src/tracks/automation_pattern.cpp:
14561         * src/tracks/instrument_track.cpp:
14562         * src/tracks/sample_track.cpp:
14563         * src/tracks/time_pattern.cpp:
14564         * src/widgets/knob.cpp:
14565         renamed time* classes to automation* ones
14567         * include/automatable_object.h:
14568         - renamed time* classes to automation* ones
14569         - fixed int classes rounding
14571         * plugins/organic/organic.cpp:
14572         save harmonic settings like before
14574         * data/presets/Organic/organ_risingsun.cs.xml:
14575         * data/presets/Organic/organ_swish.cs.xml:
14576         * data/presets/Organic/pad_ethereal.cs.xml:
14577         * data/presets/Organic/pad_rich.cs.xml:
14578         * data/presets/Organic/pad_sweep.cs.xml:
14579         * data/presets/Organic/sequencer_64.cs.xml:
14580         upgraded to new detuning algorithm
14582 2006-06-28      Javier Serrano Polo <jasp00/at/terra/dot/es>
14584         * include/level_object.h:
14585         * src/tracks/time_pattern.cpp:
14586         added level<->label methods
14588         * include/automatable_object.h:
14589         - added level<->label methods
14590         - minimized rounding errors
14592 2006-06-27      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
14594         * plugins/vestige/lvsl_server.c:
14595         compatibility with older VST-headers (2.0) mentioned by configure
14597         * acinclude.m4:
14598         * configure.in:
14599         compat-fixes for FreeBSD
14601 2006-06-27      Javier Serrano Polo <jasp00/at/terra/dot/es>
14603         * include/time_pattern.h:
14604         * src/tracks/time_pattern.cpp:
14605         initial release, pattern for dynamic values
14607         * include/time_roll.h:
14608         * src/core/time_roll.cpp:
14609         initial release, time pattern editor
14611         * include/level_object.h:
14612         initial release, mainly used by the time-roll
14614         * include/automatable_object.h:
14615         - added levelObject inheritance and related functions
14616         - added time pattern
14617         - moved linkObject methods to private for safety
14618         - save/load settings can use generic names and types other than double
14620         * include/engine.h:
14621         * include/main_window.h:
14622         * src/core/engine.cpp:
14623         * src/core/main_window.cpp:
14624         added time-roll
14626         * include/knob.h:
14627         * src/widgets/knob.cpp:
14628         - use automation capabilities
14629         - added time-roll option in context menu
14631         * include/tempo_sync_knob.h:
14632         * include/volume_knob.h:
14633         * src/widgets/automatable_button.cpp:
14634         * src/widgets/lcd_spinbox.cpp:
14635         * src/widgets/tempo_sync_knob.cpp:
14636         * src/widgets/volume_knob.cpp:
14637         added automation
14639         * include/envelope_and_lfo_widget.h:
14640         * plugins/audio_file_processor/audio_file_processor.cpp:
14641         * plugins/bit_invader/bit_invader.cpp:
14642         * plugins/organic/organic.cpp:
14643         * plugins/plucked_string_synth/plucked_string_synth.cpp:
14644         * plugins/triple_oscillator/triple_oscillator.cpp:
14645         * plugins/vibed/vibed.cpp:
14646         * src/core/arp_and_chords_tab_widget.cpp:
14647         * src/core/envelope_and_lfo_widget.cpp:
14648         * src/core/envelope_tab_widget.cpp:
14649         added automation to many knobs
14651         * include/track.h:
14652         * src/core/track.cpp:
14653         - added time pattern
14654         - added name methods
14656         * include/instrument_track.h:
14657         * src/tracks/instrument_track.cpp:
14658         - moved name scope to track
14659         - added automation to knobs
14660         - don't try to load a time pattern plugin
14662         * src/tracks/sample_track.cpp:
14663         added automation to knob
14665         * include/note.h:
14666         * src/core/note.cpp:
14667         moved quantized() to public
14669         * include/qt3support.h:
14670         added QPointer
14672         * include/song_editor.h:
14673         added time pattern
14675         * src/core/piano_roll.cpp:
14676         * src/core/song_editor.cpp:
14677         simplified combobox numbers generation
14679         * data/themes/default/zoom_x.png:
14680         * data/themes/default/zoom_y.png:
14681         * resources/zoom_x.png:
14682         * resources/zoom_y.png:
14683         icons for the time-roll
14685         * Makefile.am:
14686         * src/lmms_single_source.cpp:
14687         added new files
14689 2006-06-12      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
14691         * plugins/organic/organic.cpp:
14692         * plugins/organic/organic.h:
14693         * plugins/triple_oscillator/triple_oscillator.cpp:
14694         * plugins/triple_oscillator/triple_oscillator.h:
14695         updated code which uses knob-identification-capabilities
14697         * include/knob.h:
14698         * include/volume_knob.h:
14699         * src/widgets/knob.cpp:
14700         * src/widgets/volume_knob.cpp:
14701         use data-property of automatableObject for identifying the knob
14702         (replaces the id-stuff)
14704         * include/automatable_object.h:
14705         added data-property in which any arbitrary information can be stored
14707 2006-06-10      Javier Serrano Polo <jasp00/at/terra/dot/es>
14709         * src/lib/sample_buffer.cpp:
14710         - fixed bug when sample processor generates less frames than the audio
14711           buffer size
14712         - load full wav samples
14714         * data/presets/AudioFileProcessor/Fat-Reversed-Kick.cs.xml:
14715         * data/presets/AudioFileProcessor/Kick-4-your-Subwoofer.cs.xml:
14716         upgraded to newer version, end frame value caused segfault
14718 2006-06-09      Javier Serrano Polo <jasp00/at/terra/dot/es>
14720         * include/lmms_math.h:
14721         * include/oscillator.h:
14722         * include/sample_buffer.h:
14723         * src/lib/oscillator.cpp:
14724         - reverted to PM and added FM as a new modulation method
14725         - improved performance, specially PM/FM
14726         - moved fraction() to global scope
14727         - removed absolute value from userWaveSample, it's handled by fraction()
14729         * plugins/triple_oscillator/pm_active.png:
14730         * plugins/triple_oscillator/pm_inactive.png:
14731         * plugins/triple_oscillator/triple_oscillator.cpp:
14732         added PM buttons, hid FM ones
14734         * Makefile.am:
14735         added lmms_math.h
14737         * data/locale/ca.ts:
14738         updated translation
14740 2006-06-05      Javier Serrano Polo <jasp00/at/terra/dot/es>
14742         * include/oscillator.h:
14743         * include/panning.h:
14744         * plugins/organic/organic.cpp:
14745         * plugins/organic/organic.h:
14746         * plugins/triple_oscillator/triple_oscillator.cpp:
14747         * plugins/triple_oscillator/triple_oscillator.h:
14748         * src/lib/oscillator.cpp:
14749         oscillator rewrite, now many parameters may be changed between audio
14750         buffer updates
14752         * Makefile.am:
14753         note_play_handle is now a QObject
14755         * data/projects/cool_songs/Djeezus-BeatRolls.mmp:
14756         * data/projects/cool_songs/Djeezus-Oscilisous.mmp:
14757         * data/projects/cool_songs/Marfil-MarfilDrum01.mmp:
14758         * data/projects/cool_songs/Mart-Concave_flow.mmp:
14759         * data/projects/cool_songs/Mart-Dirt_Track.mmp:
14760         * data/projects/cool_songs/MaxFellner-Ease.mmp:
14761         * data/projects/cool_songs/SharkyX-DeadManDancing.mmp:
14762         * data/projects/cool_songs/SharkyX-Experiments.mmp:
14763         * data/projects/cool_songs/Siegel-DreamWave.mmp:
14764         * data/projects/cool_songs/TobyDox-Confused.mmp:
14765         * data/projects/cool_songs/TobyDox-Psycho.mmp:
14766         * data/projects/cool_songs/TobyDox-TheFourthDimension.mmp:
14767         * data/projects/covers/J.S.Bach-Preludium_and_Fugue_A-Minor.mmp:
14768         * data/projects/demos/basses-demo.mmp:
14769         * data/projects/demos/beat-collection.mmp:
14770         * data/projects/demos/demo1.mmp:
14771         * data/projects/demos/demo3.mmp:
14772         * data/projects/demos/demo5.mmp:
14773         * data/projects/demos/demo6.mmp:
14774         * data/projects/demos/loop_collection.mmp:
14775         * data/projects/demos/some_basslines.mmp:
14776         * data/projects/misc/1st.mmp:
14777         * data/projects/misc/time_machine.mmp:
14778         * data/projects/templates/AcousticDrumset.mpt:
14779         * data/projects/templates/ClubMix.mpt:
14780         * data/presets/AudioFileProcessor/Bass-Mania.cs.xml:
14781         * data/presets/AudioFileProcessor/Fat-Reversed-Kick.cs.xml:
14782         * data/presets/AudioFileProcessor/Kick-4-your-Subwoofer.cs.xml:
14783         reverted audiofileprocessors to not point to /usr/local/share/lmms, they
14784         should continue working
14786         * include/knob.h:
14787         * include/volume_knob.h:
14788         * src/widgets/knob.cpp:
14789         * src/widgets/volume_knob.cpp:
14790         added knob id
14792         * include/note_play_handle.h:
14793         * src/core/note_play_handle.cpp:
14794         update note frequency when changing base note in instrument track
14796         * include/instrument_track.h:
14797         * plugins/flp_import/flp_import.cpp:
14798         * src/core/piano_widget.cpp:
14799         * src/tracks/instrument_track.cpp:
14800         unify method to set a base note
14802 2006-06-03      Javier Serrano Polo <jasp00/at/terra/dot/es>
14804         * acinclude.m4:
14805         * src/core/main.cpp:
14806         detect and load standard Qt translations
14808 2006-05-29      Javier Serrano Polo <jasp00/dot/terra/dot/es>
14810         * src/core/arp_and_chords_tab_widget.cpp:
14811         fixed integer-overflow
14813         * include/oscillator.h:
14814         * include/sample_buffer.h:
14815         * plugins/organic/organic.cpp:
14816         * plugins/triple_oscillator/triple_oscillator.cpp:
14817         * src/core/envelope_and_lfo_widget.cpp:
14818         * src/lib/oscillator.cpp:
14819         - several segfault-fixes when while playing note
14820         - volume-knob-changes take effect immediately
14822         * data/locale/ca.ts:
14823         added catalan translation
14825 2006-05-26      Javier Serrano Polo <jasp00/dot/terra/dot/es>
14827         * src/lib/sample_buffer.cpp:
14828         corrected the calculation of f1 in play to prevent it from shifting
14829         the start_frame out of bounds when resampling.
14831         * src/core/config_mgr.cpp:
14832         * src/lib/mmp.cpp:
14833         changed the xml output to use UTF8 encoding instead of ascii.
14835 2006-05-23      Danny McRae     <khjklujn/at/users/dot/sourceforge/dot/net>
14837         * include/oscillator.h:
14838         FM mixing sometimes calculates a negative "time" for the sampling
14839         which causes bad things to happen when pulling the data out of
14840         a user defined wave.  Changed userWaveSample to use the absolute
14841         value of the sample, which fixes the segfaulting problem.  Not
14842         sure whether I should care about the negative times elsewhere.
14844 2006-05-22      Danny McRae     <khjklujn/at/users/dot/sourceforge/dot/net>
14846         * plugins/audio_file_processor/audio_file_processor.h:
14847         * plugins/audio_file_processor/audio_file_processor.cpp:
14848         added a switch to setAudioFile to force the track name to be
14849         used for the track if a name already exists.  Fixes the problem
14850         of having tracks being renamed to the file name when loading a
14851         saved song.
14853 2006-05-20      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
14855         * data/locale/de.ts:
14856         updated German translation
14858         * src/core/bb_editor.cpp:
14859         added button in bb-editor for adding new beat/bassline
14861         * include/track.h:
14862         * src/core/track.cpp:
14863         * src/tracks/bb_track.cpp:
14864         * src/tracks/instrument_track.cpp:
14865         * src/tracks/pattern.cpp:
14866         * src/tracks/sample_track.cpp:
14867         added "muted"-property to track-content-objects for being able to mute
14868         single patterns, samples etc. either via context-menu or using <Ctrl>
14869         and middle mousebutton
14871 2006-05-19      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
14873         * src/core/track_container.cpp:
14874         added missing #include (debug.h for assert(...) )
14876 2006-04-18      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
14878         * plugins/flp_import/unrtf/output.c:
14879         generally use bigger font-sizes
14881         * plugins/flp_import/unrtf/attr.c:
14882         * plugins/flp_import/unrtf/attr.h:
14883         * plugins/flp_import/flp_import.cpp:
14884         do not crash when importing FLP-projects more than one time per
14885         session (some vars need to be reset before unrtf works again)
14887         * plugins/flp_import/flp_import.cpp:
14888         - limit number of bb-tracks for avoiding hangups
14889         - set length of step-notes to -64 instead of -1
14890         - scale filter-resonance to smaller values
14892 2006-04-17      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
14894         * plugins/vibed/vibed.cpp:
14895         some small optimizations in vibed::playNote( ... )
14897 2006-04-16      Danny McRae     <khjklujn/at/users/dot/sourceforge/dot/net>
14899         * Makefile.am:
14900         * src/lmms_single_source.cpp:
14901         * include/knob.h:
14902         * include/instrument_track.h:
14903         * src/tracks/instrument_track.cpp:
14904         * src/include/volume_knob.h:
14905         * src/widgets/volume_knob.cpp:
14906         * include/setup_dialog.h:
14907         * src/core/setup_dialog.cpp:
14908         * include/sample_track.h:
14909         * src/tracks/sample_track.cpp:
14910         * plugins/audio_file_processor/audio_file_processor.h:
14911         * plugins/audio_file_processor/audio_file_processor.cpp:
14912         * plugins/organic/organic.h:
14913         * plugins/organic/organic.cpp:
14914         * plugins/triple_oscillator/triple_oscillator.h:
14915         * plugins/triple_oscillator/triple_oscillator.cpp:
14916         * plugins/vibed/vibed.h:
14917         * plugins/vibed/vibed.cpp:
14918         Added a volume knob widget that will display the volume level as
14919         either a percentage or in dbV, which can be selected from the
14920         general settings in the setup dialog.  Changed vibed to use a 
14921         volume range from 0 to 200 to bring it in line with every other
14922         volume knob in lmms.  Unfortunately, this will break any existing
14923         presets, but better to do it now before many of them actually
14924         exist.
14926         * src/core/mixer.cpp:
14927         Changed the number of channels processed from the fixed value of
14928         SURROUND_CHANNELS to m_audioDev->channels() so that only the
14929         number of channels that will be output get processed instead of
14930         the maximum number of channels that could be defined.
14931         
14932 2006-04-15      Danny McRae     <khjklujn/at/users/dot/sourceforge/dot/net>
14934         * include/mixer.h:
14935         * src/core/mixer.cpp:
14936         * src/core/song_editor.cpp:
14937         * data/themes/default/auto_limit.png:
14938         * data/themes/blue_scene/auto_limit.png:
14939         Added auto limiter option.  Main window now has a button next to
14940         the high-quality button to toggle the auto limiter on and off
14941         The limiter scales the whole section between zero crossings where
14942         a clip occurs.  This required adding another processing buffer
14943         in the mixer, which will double the latency when the auto limiter
14944         is being used, but when it's not being used, there is no change
14945         to the latency.  Because it's based on detecting the zero
14946         crossings, the lowest frequency for which it is effective is
14947         sample_rate/(4*buffer_len).
14949 2006-04-14      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
14951         * src/lib/mmp.cpp:
14952         clean metadata-nodes when saving projects, project-templates or presets
14954         * plugins/vibed/vibed.cpp:
14955         - in vibed::loadSettings():
14956           - simplified loading of wave-shape
14957           - delete base64-decoded data at the end
14958         - commented out code in destructor as it is not necessary - to be
14959           removed someday
14961         * include/base64.h:
14962         fixed fatal bug in Qt4-version of base64::decode(): memcpy()ed data to
14963         _data instead of *_data
14965         * src/widgets/group_box.cpp:
14966         * src/widgets/tab_widget.cpp:
14967         some fine-tuning of Qt4-version of painting-code
14969         * src/widgets/lcd_spinbox.cpp:
14970         explicitely set black background-color in Qt4-version
14972         * src/core/midi_tab_widget.cpp:
14973         Qt4-version of MIDI-connection-code is now working
14975         * src/core/main_window.cpp:
14976         * plugins/vibed/impulse_editor.cpp:
14977         * plugins/vibed/nine_button_selector.cpp:
14978         * plugins/vibed/vibed.cpp:
14979         * plugins/plucked_string_synth/plucked_string_synth.cpp:
14980         * plugins/triple_oscillator/triple_oscillator.cpp:
14981         * plugins/bit_invader/bit_invader.cpp:
14982         * plugins/organic/organic.cpp:
14983         * src/core/song_editor.cpp:
14984         * src/core/piano_roll.cpp:
14985         * src/core/main_window.cpp:
14986         * src/core/bb_editor.cpp:
14987         * src/core/track.cpp:
14988         * src/widgets/project_notes.cpp:
14989         * src/widgets/group_box.cpp:
14990         * src/widgets/tab_widget.cpp:
14991         * src/widgets/tool_button.cpp:
14992         added missing setAutoFillBackground( TRUE )-call for making QWidget
14993         paint specified background-color/pixmap - makes Qt4-version of LMMS
14994         almost usable
14996         * src/widgets/tab_widget.cpp:
14997         per default hide newly added tabs
14999         * include/spc_bg_hndl_widget.h:
15000         added missing code for painting pixmap-backgrounds in Qt4-version
15002         * plugins/vestige/lvsl_client.cpp:
15003         use QX11EmbedContainer instead of QX11EmbedWidget in Qt4-version ->
15004         working VST-support in Qt4-version of LMMS
15006         * include/sample_buffer.h:
15007         * src/lib/sample_buffer.cpp:
15008         - when loading sample, first look for it in user's working-directory,
15009           then in LMMS' factory-samples-directory
15010         - simplified making the path of a sample-file relative
15012         * include/config_mgr.h:
15013         * src/core/config_mgr.cpp:
15014         * src/core/main_window.cpp:
15015         * src/tracks/instrument_track.cpp:
15016         replaced methods projectsDir(), presetsDir() and samplesDir() with
15017         userProjectsDir(), factoryProjectsDir(), userPresetsDir(),
15018         factoryPresetsDir() etc.
15020         * include/file_browser.h:
15021         * src/core/file_browser.cpp:
15022         try to avoid duplicate "/" in paths - fixes some problems
15024 2006-04-10      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15026         * most files:
15027         Qt4-fixes:
15028         - when including headers, specify qt-module too (QtCore, QtGui etc.)
15029         - draw gradients using QLinearGradient etc.
15030         - other opmizations (use QHash instead of QMap etc.)
15032 2006-04-10      Danny McRae     <khjklujn/at/users/dot/sourceforge/dot/net>
15034         * Makefile.am:
15035         * include/lmms_constants.h:
15036         * include/basic_filters.h:
15037         * include/oscillator.h:
15038         * include/interpolation.h:
15039         converted calculations using PI to single precision
15040         
15041         * src/audio/audio_device.cpp:
15042         * src/audio/audio_alsa.cpp:
15043         * src/audio/audio_file_wave.cpp:
15044         corrected handling of big endian data
15046         * plugins/vibed/vibed.h:
15047         * plugins/vibed/vibed.cpp:
15048         * plugins/vibed/nine_button_selector.h:
15049         * plugins/vibed/nine_button_selector.cpp:
15050         - added octave to save and restore settings
15051         - removed mysterious m_sampleBuffer that was causing seg faults in the
15052           deconstructor
15054         * src/core/main_window.cpp:
15055         added checks to handle "gimp like windows" for save and restore widget 
15056         states to prevent seg fault
15058         * data/projects/cool_songs/Djeezus-BeatRolls.mmp:
15059         * data/projects/cool_songs/Djeezus-Oscilisous.mmp:
15060         * data/projects/cool_songs/Marfil-MarfilDrum01.mpp:
15061         * data/projects/cool_songs/Mart-Concave_flow.mpp:
15062         * data/projects/cool_songs/Mart-Dirt_Track.mpp:
15063         * data/projects/cool_songs/MaxFellner-Ease.mpp:
15064         * data/projects/cool_songs/SharkyX-DeadManDancing.mpp:
15065         * data/projects/cool_songs/SharkyX-Experiments.mpp:
15066         * data/projects/cool_songs/Siegel-DreamWave.mpp:
15067         * data/projects/cool_songs/TobyDox-Confused.mpp:
15068         * data/projects/cool_songs/TobyDox-Psycho.mpp:
15069         * data/projects/cool_songs/TobyDox-TheFourthDimension.mpp:
15070         * data/projects/covers/J.S.Bach-Preludium_and_Fuge_A-Minor.mmp:
15071         * data/projects/demos/basses-demo.mpp:
15072         * data/projects/demos/beat-collection.mpp:
15073         * data/projects/demos/demo1.mpp:
15074         * data/projects/demos/demo3.mpp:
15075         * data/projects/demos/demo5.mpp:
15076         * data/projects/demos/demo6.mpp:
15077         * data/projects/demos/loop_collection.mpp:
15078         * data/projects/demos/some_basslines.mpp:
15079         * data/projects/misc/1st.mpp:
15080         * data/projects/misc/time_machine.mpp:
15081         * data/projects/templates/AccousticDrums.mpt:
15082         * data/projects/templates/ClubMix.mpt:
15083         * data/presets/AudioFileProcessor/Bass-Mainia.cs.xml:
15084         * data/presets/AudioFileProcessor/Fat-Reversed-Kick.cs.xml:
15085         * data/presets/AudioFileProcessor/Kick-4-your-Subwoofer.cs.xml:
15086         updated audiofileprocessors to point to factory presets files in
15087         /usr/local/share/lmms
15089 2006-04-09      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15091         * src/core/envelope_and_lfo_widget.cpp:
15092         do not show hint when loading settings in which lfo-shape is set to USER
15094         * src/core/preset_preview_play_handle.cpp:
15095         disable project-journalling while loading preset
15097         * src/core/preset_preview_play_handle.cpp:
15098         * src/tracks/instrument_track.cpp:
15099         for generating infinite notes, pass valueRanges<f_cnt_t>::max instead
15100         of ~0 to note-play-handle-constructor as ~0 = 1 for signed ints
15102         * include/types.h:
15103         - changed types of fpab_t and f_cnt_t to be signed - compiler
15104           generates more optimized code this way
15105         - added template-struct "valueRanges", containing members "min" and
15106           "max" which hold the minimum and maximum value of the type the
15107           template is instantiated with
15109         * plugins/bit_invader/bit_invader.cpp:
15110         - fixed buffer-overflow when loading sample-data from base64 and more
15111           bytes were decoded than allocated in wave-buffer
15112         - delete decoded base64-data after copying it into wave-buffer
15114 2006-04-08      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15116         * src/core/envelope_and_lfo_widget.cpp:
15117         - connect valueChanged()-event of lfo-shape-buttongroup with
15118           lfoWaveCh()-slot - fixes bug that clicks at the lfo-wave-buttons
15119           were not recognized
15120         - completely revised level()-method which doesn't have the bug
15121           anymore, that in release-phase the envelope-level simply went down
15122           from sustain-level to zero, now it goes down from the level at which
15123           the note was released, new method is also much cleaner and more
15124           optimized (and optmizable by compiler)
15126         * src/core/preset_preview_play_handle.cpp:
15127         hide preview-instrument-track-window after loading settings
15129 2006-04-07      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15131         * plugins/vibed/vibrating_string.h:
15132         corrected type-names for resample()-method-parameters (f_cnt_t instead
15133         of samplerate_t)
15135 2006-04-06      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15137         * include/config_mgr.h:
15138         * src/core/config_mgr.cpp:
15139         use setup-wizard only for setting working-directory
15141         * src/core/main_window.cpp:
15142         when creating file-browsers, pass 2 directories:
15143                 - factory-files
15144                 - user-files
15145         this concerns projects, presets and samples - obsoletes
15146         copying/linking files the first time, LMMS is run (new factory files in
15147         new versions do not cause any trouble anymore)
15149         * include/file_browser.h:
15150         * src/core/file_browser.cpp:
15151         added support for merging several directory-trees into one view
15153 2006-04-05      Danny McRae <khjklujn/at/users/dot/sourceforge/dot/net>
15155         * include/sample_track.h:
15156         * src/tracks/sample_track.cpp:
15157         - add volume knob to sample tracks
15159 2006-04-05      Danny McRae <khjklujn/at/users/dot/sourceforge/dot/net>
15161         * plugins/vibed/impulse_editor.cpp:
15162         - corrected mismatch sin/saw mismatch in initialization
15164         * plugins/vibed/string_container.h:
15165         * plugins/vibed/string_container.cpp:
15166         * plugins/vibed/vibed.h:
15167         * plugins/vibed/vibed.cpp:
15168         - added string id tracking to allow adding strings while playing
15170 2006-04-05      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15172         * include/plugin_browser.h:
15173         * src/core/plugin_browser.cpp:
15174         - per default show small items for plugins in plugin-browser and show
15175           details on mouse-over (nice animations!! ;-) - avoids problems with
15176           hidden plugin-items because of too low screen-resolution and missing
15177           scrollbars
15178         - draw plugin-details-text using QPainter::drawText (not with old own
15179           (buggy) algorithm for text-drawing with word-break-support)
15181 2006-04-04      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15183         * plugins/flp_import/unrtf/*:
15184         * plugins/flp_import/flp_import.cpp:
15185         use integrated unrtf-source into FLP-import-filter for converting
15186         RTF-comments to plain HTML which is usable with QTextEdit
15188 2006-04-02      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15190         * src/core/song_editor.cpp:
15191         set master-volume-slider correctly in songEditor::setMasterVolume()
15193         * include/envelope_tab_widget.h:
15194         * src/core/envelope_tab_widget.cpp:
15195         * src/core/note_play_handle.cpp:
15196         - in envelopeTabWidget::releaseFrames():
15197                 if the volume-envelope is used, do not check
15198                 release-frames of other envelope-targets, as it is not
15199                 interesting if they're beyond the end of the volume-envelope
15200                 (silent so or so) - may result in less CPU-usage in some
15201                 situations if the user set a bigger release to an envelope
15202                 other than the volume-env
15203         - for arpeggio-base-notes only use number of release-frames of
15204           volume-envelope for m_releaseFramesToDo (for not creating silent notes
15205           in release-phase of arp-base-note)
15207         * plugins/vibed/impulse_editor.cpp:
15208         use saw-wave as default shape for strings as it sounds much more like
15209         a typical guitar-string than a sine-wave
15211         * plugins/triple_oscillator/triple_oscillator.h:
15212         * plugins/triple_oscillator/triple_oscillator.cpp:
15213         re-implement setParameter()-method for setting user-defined wave-shape
15214         (used by FLP-import-filter)
15216         * plugins/flp_import/flp_import.cpp:
15217         - convert 3x Osc params to TripleOscillator-settings and load them
15218         - load Vibed-Plugin for Plucked!-instrument
15219         - load arpeggio-settings of channel
15220         - load filter-settings of channel
15221         - handle base-note of each channel
15222         - correct master-volume-calculation
15224 2006-04-01      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15226         * plugins/flp_import/flp_import.cpp:
15227         - hack for converting RTF-comment to HTML using unrtf (if installed)
15229 2006-03-30      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15231         * plugins/flp_import/flp_import.h:
15232         * plugins/flp_import/flp_import.cpp:
15233         - try to load samples correctly using FL Studio installation
15234         - recognize steps (not working properly yet)
15235         - set current pattern of project
15236         - separate handling of plugin-parameters (will allow support of FL
15237           presets later!)
15238         - added FLP_StepData (225) (not handled as format not known yet)
15239         - added FLP_EnvLfoParams (218) (not handled as format not known yet)
15240         - load envelope-settings of instrument-tracks
15242         * src/core/track_container.cpp:
15243         disable journalling in destructor of trackContainer
15245         * include/config_mgr.h:
15246         * include/setup_dialog.h:
15247         * src/core/config_mgr.cpp:
15248         * src/core/setup_dialog.cpp:
15249         support for setting path to installation directory of FL Studio
15251 2006-03-29      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15253         * include/song_editor.h:
15254         * src/core/song_editor.cpp:
15255         added setMasterVolume() and setMasterPitch()
15257         * plugins/flp_import/flp_import.h:
15258         * plugins/flp_import/flp_import.cpp:
15259         - read text-len correctly
15260         - do not crash when creating new pattern before actual channels are
15261           created
15262         - stated event 224 to be FLP_PatternData
15263         - extract information for creating notes out of pattern-data
15264         - add playlist-items after all is done for resizing them correctly
15266 2006-03-28      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15268         * plugins/flp_import/flp_import.h:
15269         * plugins/flp_import/flp_import.cpp:
15270         improvements for having a working flp-filter as soon as possible
15272 2006-03-28      Danny McRae     <khjklujn/at/yahoo/dot/com>
15274         * src/lib/sample_buffer.cpp:
15275         corrected miscalculation of buffer size in resample
15277         * nine_button_selector.cpp:
15278         * nine_button_selector.h:
15279         * string_container.cpp:
15280         * string_container.h:
15281         * vibed.cpp:
15282         * vibed.h:
15283         changed QPtrList variables to vlist type to make things more
15284         Qt4 friendly
15285         
15286 2006-03-27      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15288         * plugins/flp_import/:
15289         skeleton for FLP-import-filter and some first code (doesn't work yet)
15291         * include/midi.h:
15292         * include/midi_port.h:
15293         * include/midi_tab_widget.h:
15294         * src/core/midi_tab_widget.cpp:
15295         * src/midi/midi_port.cpp:
15296         support for default-velocity for MIDI-in and/or -out-events - useful
15297         when recording with constant velocity
15299 2006-03-26      Danny McRae     <khjklujn/at/yahoo/dot/com>
15301         * plugins/vibed/:
15302         added "Vibed"-plugin, a powerful combination of PluckedStringSynth and
15303         BitInvader that's capable of producing a surprisingly wide range of
15304         sounds
15306 2006-03-26      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15308         * src/lib/journalling_object.cpp:
15309         in journallingObject::saveState(): append new dom-element to parent
15310         before calling saveSettings() as some implementations of it depend on
15311         knowing something about it's parent (e.g. whether it's the clipboard
15312         etc.) - fixes several bugs related to clipboard-usage and drag'n'drop
15314 2006-03-25      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15316         * include/instrument_track.h:
15317         * src/core/preset_preview_play_handle.cpp:
15318         disable journalling for all objects involved in preset-preview
15320         * src/tracks/instrument_track.cpp:
15321         when saving preset, create new node below content-node of project, as
15322         the behaviour of saveTrackSpecificSettings() was changed some days
15323         before
15325         * src/lib/mmp.cpp:
15326         bugfixes concerning project type-naming
15328         * src/core/arp_and_chords_tab_widget.cpp:
15329         bugfixes concerning loading/saving settings
15331 2006-03-24      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15333         * src/core/track.cpp:
15334         in trackContentWidget::undoStep(): cast journalling object to
15335         track-content-object and close it instead of deleting it - fixes crash
15336         after undo of TCO-add
15338 2006-03-23      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15340         * plugins/organic/organic.cpp:
15341         * plugins/organic/randomise_pressed.png:
15342         added pixmap for visual feedback when pressing randomise-button
15344         * plugins/midi_import/midi_import.cpp:
15345         removed attribute FASTCALL from midiImport::tryImport() for not
15346         crashing LMMS, as tryImport() is not defined as FASTCALL in
15347         importFilter-API
15349         * src/core/export_project_dialog.cpp:
15350         fixed bug causing LMMS to crash when trying to export a project
15352 2006-03-19      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15354         * src/core/track.cpp:
15355         * src/core/track_container.cpp:
15356         * src/tracks/pattern.cpp:
15357         in loadSettings(): do not get confused by meta-data (journal etc.)
15359         * src/lib/journalling_object.cpp:
15360         - lot of bugfixes
15361         - save/load data of journal-entry (QVariant) by encoding/decoding it
15362           with base64
15364         * include/base64.h:
15365         * src/lib/base64.cpp:
15366         support for encoding and decoding whole QVariant, independent of its 
15367         type (the result is one string, representing data of any type (int,
15368         QMap, QVector QString...) - this is just awesome!!)
15370         * src/tracks/instrument_track.cpp:
15371         do not crash in several situations if instrument is not loaded for
15372         some reason (e.g. invalid preset)
15374         * src/core/track.cpp:
15375         full support for undo/redo adding/removing a TCO (track-type
15376         independent)
15378 2006-03-18      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15380         * src/core/main_window.cpp:
15381         avoid layouting-errors when restore widget-state by showing widget
15382         while moving it
15384         * include/note.h:
15385         * src/core/note.cpp:
15386         undo/redo-support for note-properties
15388         * most files:
15389         - derive from journallingObject instead of settings and/or engineObject
15390         - in saveSettings() do not create own node, instead directly set
15391           attributes of passed dom-element
15393         * include/journalling_object.h:
15394         * src/lib/journalling_object.cpp:
15395         - added saveSettings() and loadSettings()-method from former
15396           settings-class
15397         - new wrapper-functions around saveSettings() and loadSettings():
15398           saveState()
15399           restoreState()
15400           -> objects do not have to create a new node on their own,
15401              saveState() does it for them using nodeName() as node-name
15402           -> journal of object is saved/restored automatically
15404         * include/settings.h:
15405         removed
15407 2006-03-16      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15409         * include/journalling_object.h:
15410         - renamed from editable_object.h
15411         - renamed editStep to journalEntry
15412         - renamed editableObject to journallingObject
15413         - renamed other method-names
15415         * include/project_journal.h:
15416         * src/lib/project_journal.cpp:
15417         renamed editHistory to projectJournal and changed file-names
15418         accordingly
15420         * most files:
15421         renamed class channelTrack to instrumentTrack and changed other
15422         method-names to match new naming-convention
15424         * include/instrument_track.h:
15425         * src/tracks/instrument_track.cpp:
15426         renamed channel_track.* to instrument_track.*
15428 2006-03-16      Andreas Brandmaier <andreas/at/brandmaier/dot/de>
15430         * plugins/organic/organic.cpp:
15431         * plugins/organic/organic.h:
15432         * plugins/organic/randomise.png:
15433         added "randomise preset" button to organic plugin
15435 2006-03-14      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15437         * include/types.h:
15438         added type for editable-object-ID
15440         * include/track.h:
15441         * src/core/track.cpp:
15442         * src/tracks/bb_track.cpp:
15443         * src/tracks/pattern.cpp:
15444         * src/tracks/sample_track.cpp:
15445         undo/redo-support for position- and size-changes of TCO
15447         * include/automatable_object.h:
15448         added methods for saving step-recording-state on stack and restoring
15449         it
15451         * include/automatable_object.h:
15452         * include/automatable_button.h:
15453         * include/knob.h:
15454         * src/widgets/automatable_button.cpp:
15455         * src/widgets/knob.cpp:
15456         added second template-parameter to automatableObject which specifies
15457         the type to be used for internal calculations (necessary for working
15458         undo/redo-implementation for bool-objects like buttons)
15460         * include/led_checkbox.h:
15461         * src/widgets/led_checkbox.cpp:
15462         fixed some bugs
15464 2006-03-13      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15466         * include/main_window.h:
15467         * src/core/main_window.cpp:
15468         added edit-menu with undo/redo-items
15470         * src/core/piano_roll.cpp:
15471         * src/core/song_editor.cpp:
15472         * src/core/track_container.cpp:
15473         * src/tracks/channel_track.cpp:
15474         * src/widgets/project_notes.cpp:
15475         use mainWindow::saveWidgetState() and mainWindow::restoreWidgetState()
15476         for saving widget-state in project-file
15478         * include/piano_roll.h:
15479         * src/core/piano_roll.cpp:
15480         made piano-roll a settings-object
15482         * include/main_window.h:
15483         * src/core/main_window.cpp:
15484         added static methods for saving and restoring state of a widget
15485         (position, size, visibility etc.) to/from QDomElement
15487         * include/timeline.h:
15488         * src/core/song_editor.cpp:
15489         * src/core/timeline.cpp:
15490         save loop-point-positions and loop-point-state in project
15492         * plugins/bit_invader/bit_invader.cpp:
15493         added visual feedback when pressing wave-shape-buttons
15495         * include/combobox.h:
15496         * include/led_checkbox.h:
15497         * include/pixmap_button.h:
15498         * src/widgets/combobox.cpp:
15499         * src/widgets/led_checkbox.cpp:
15500         * src/widgets/pixmap_button.cpp:
15501         use automatableButton as new base-class
15502         
15503         * include/automatable_button.h:
15504         * src/widgets/automatable_button.cpp:
15505         - added class automatableButton to be the base-class for pixmapButton,
15506           ledCheckBox etc.
15507         - added automatableButtonGroup, a more powerful button-group, designed
15508           to be used in conjunction with automatableButton-derived buttons
15510 2006-03-12      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15512         * include/automatable_object.h:
15513         - added setInitValue() to be used by ALL creators of automatable
15514           objects for initializing object-value - otherwise edit-step-history
15515           gets filled with steps to set object's value to init-value
15516         - derive from editableObject and re-implement some methods for
15517           transparent edit-history for all automatable objects (knobs etc.)
15519         * include/editable_object.h:
15520         * include/edit_history.h:
15521         * src/lib/edit_history.cpp:
15522         added support for recording edit-steps, the base for a generic
15523         undo/redo-system
15525 2006-03-09      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15527         * include/settings.h:
15528         * src/core/plugin_browser.cpp:
15529         * src/core/song_editor.cpp:
15530         * src/core/track_container.cpp:
15531         * plugins/midi_import/midi_import.cpp:
15532         * plugins/midi_import/midi_import.h:
15533         made MIDI-file-code an import-filter
15535         * include/import_filter.h:
15536         * src/core/import_filter.cpp:
15537         support for import-filter-plugins - simply call
15539         importFilter::import( FILE_NAME, TRACK_CONTAINER )
15541         for any file and the rest will be done fully automatically according
15542         to installed import-filter-plugins
15544 2006-03-08      Zolo <the-zolo/at/gmx/dot/de>
15546         * data/themes/blue_scene/:
15547         updated some pixmaps
15549         * data/themes/blue_scene/plugins/:
15550         added pixmaps for plugins
15552 2006-03-08      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15554         * src/core/timeline.cpp:
15555         more logical loop-point-handling:
15556                 middle mouse button -> left loop-point
15557                 right mouse button -> right loop-point
15559         * plugins/audio_file_processor/audio_file_processor.cpp:
15560         * plugins/bit_invader/bit_invader.cpp:
15561         * plugins/organic/organic.cpp:
15562         * plugins/plucked_string_synth/plucked_string_synth.cpp:
15563         * plugins/triple_oscillator/triple_oscillator.cpp:
15564         * plugins/vestige/vestige.cpp:
15565         * include/plugin.h:
15566         * src/core/instrument.cpp:
15567         * src/core/plugin.cpp:
15568         * src/lib/embed.cpp:
15569         added support for plugin-theming
15571         * src/lib/embed.cpp:
15572         - first search in artwork-directories before searching for embedded data
15573           as most artwork is not linked into binary (except plugins)
15574         - if pixmap not found, try to load according pixmap from
15575           default-artwork-dir
15577         * include/embed.h:
15578         * src/core/main.cpp:
15579         * src/lib/embed.cpp:
15580         as localizations are no longer embedded into binary, loadTranslation()
15581         was moved to main.cpp and contains only some basic code for loading
15582         appropriate translation from file
15584         * src/core/config_mgr.cpp:
15585         several fixes concerning artwork-path
15587 2006-03-07      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15589         * src/core/arp_and_chords_tab_widget.cpp:
15590         more senseful range for arpeggio time: 25-2000 ms (instead of 10-1000ms)
15592         * src/audio/audio_alsa.cpp:
15593         * src/audio/audio_oss.cpp:
15594         * src/midi/midi_alsa_raw.cpp:
15595         * src/midi/midi_alsa_seq.cpp:
15596         * src/midi/midi_oss.cpp:
15597         only specify threading-priority when using Qt 3.3.5 or above as older
15598         versions cause problems when running the whole app with realtime
15599         priority - fixes several lockups
15601         * src/widgets/knob.cpp:
15602         when moving mouse while having shift pressed, increase/decrease by
15603         single steps
15605         * src/core/envelope_tab_widget.cpp:
15606         use 10 KHz as filter-maximum instead of 16 KHz
15608         * include/track.h:
15609         * src/core/track.cpp:
15610         added HACK to avoid crash because of bug in Qt (< 3.3.5) when removing
15611         track
15613         * src/core/config_mgr.cpp:
15614         - use default-theme-path if theme-path from config-file doesn't exist
15615         - add "/" to theme-path if missing
15617 2006-03-06      Alexey Kouznetsov <alexey/dot/kouznetsov/at/gmail/dot/com>
15619         * locale/ru.ts:
15620         updated Russian translation
15622 2006-03-05      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15624         * src/core/main_window.cpp:
15625         always set to configured-state before showing setup-dialog on first
15626         startup
15628 2006-03-04      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15630         * src/core/engine.cpp:
15631         finalize main-window after having mixer to start its audio-devices -
15632         fixes crash on first time LMMS is started
15634 2006-02-28      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15636         * data/locale/de.ts:
15637         updated German translation
15639         * src/core/timeline.cpp:
15640         use note::toNearestTact() in timeLine::mouseMoveEvent() instead of own
15641         calculations
15643         * src/core/track.cpp:
15644         per default make TCO-ops (create, move, resize) aligned on tact-
15645         boundaries, free positioning/resizing can be achieved by pressing
15646         <Ctrl> after pressing mouse-button
15648         * include/midi_time.h:
15649         added note::toNearestTact()-method
15651         * include/pattern.h:
15652         * src/core/piano_roll.cpp:
15653         * src/track/pattern.cpp:
15654         do not quantize note-position while moving selection of notes
15656         * src/core/song_editor.cpp:
15657         some layout-fixes for looking good with "Blue Scene" as well
15659 2006-02-27      Zolo <the-zolo/at/gmx/dot/de>
15661         * data/themes/blue_scene/:
15662         added new theme for LMMS
15664 2006-02-27      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15666         * src/core/song_editor.cpp:
15667         * src/tracks/pattern.cpp:
15668         do not crash when playing a pattern which is deleted
15670         * src/core/track_container.cpp:
15671         pause mixer when cloning tracks for avoiding side-effects, probably
15672         fixes some crash-bugs
15674         * include/config_mgr.h:
15675         * include/setup_dialog.h:
15676         * src/core/config_mgr.cpp:
15677         * src/core/setup_dialog.cpp:
15678         * src/lib/embed.cpp:
15679         first simple support for theming
15681         * Makefile.am:
15682         * configure.in:
15683         re-organized all data-directories (samples, presets, localizations,
15684         artwork etc.) and put them into data/ dir to be all installed into
15685         $prefix/share/lmms
15687 2006-02-25      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15689         * src/tracks/channel_track.cpp:
15690         apply a very basic envelope at the beginning and the end of a note for
15691         avoiding these "typical" clicks which were there before
15693 2006-02-22      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15695         * configure.in:
15696         * Makefile.am:
15697         * src/lmms_single_source.cpp:
15698         added support for compiling LMMS from one source file which often
15699         results in a better/more optimized executable
15701         * include/note.h:
15702         * include/piano_roll.h:
15703         * src/core/note.cpp:
15704         * src/core/piano_roll.cpp:
15705         - simple quantization-support
15706         - fixed lengths for drawing notes can be selected in piano-roll
15708         * resources/black_key.png:
15709         * resources/black_key_pressed.png:
15710         * resources/pr_black_key.png:
15711         * resources/pr_white_key_big.png:
15712         * resources/pr_white_key_small.png:
15713         * resources/white_key.png:
15714         * resources/white_key_pressed.png:
15715         replaced by new graphics
15717         * src/core/engine.cpp:
15718         delete piano-roll after song-editor and bb-editor as patterns being
15719         destroyed still depend on it
15721 2006-02-21      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15723         * src/tracks/channel_track.cpp:
15724         do not lock mutex in processOutEvent() as it causes a deadlock when
15725         having channel-activity-indicators enabled
15727         * include/midi_mapper.h:
15728         * include/project_notes.h:
15729         * src/lib/sample_buffer.cpp:
15730         * src/midi/midi_file.cpp:
15731         * src/midi/midi_mapper.cpp:
15732         * src/widgets/project_notes.cpp:
15733         misc fixes for being able to compile LMMS from one source-file
15735         * include/automatable_object.h:
15736         * include/knob.h:
15737         * include/lcd_spinbox.h:
15738         * include/led_checkbox.h:
15739         * src/widgets/knob.cpp:
15740         * src/widgets/led_checkbox.cpp:
15741         * src/widgets/lcd_spinbox.cpp:
15742         introduced template-class automatableObject for central value-
15743         manipulation, range-checking etc. and made some classes (e.g. knob,
15744         ledCheckBox, lcdCheckBox) derive from it - preparations for full
15745         automation-support in LMMS
15747         * Makefile.am:
15748         do not strip executable when installing as it makes even basic debugging
15749         impossible
15751 2006-02-20      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15753         * src/widgets/combobox.cpp:
15754         * src/widgets/knob.cpp:
15755         * src/widgets/led_checkbox.cpp:
15756         draw shadowed text
15758         * include/mixer.h:
15759         * src/core/arp_and_chords_tab_widget.cpp:
15760         * src/core/mixer.cpp:
15761         better xrun-detection and -handling (still not perfect)
15763         * include/mixer.h:
15764         * src/tracks/channel_track.cpp:
15765         fixed critical bug which made LMMS crash if xruns were detected and
15766         notes were discarded by mixer and therefore deleted twice
15768 2006-02-19      Andreas Brandmaier <andreas/at/brandmaier/dot/de>
15770         * plugins/organic/organic.cpp:
15771         * plugins/organic/organic.h:
15772         * presets/Organic:
15773         * presets/Bitinvader:
15774         added waveshape knob
15775         changed distortion method from clipping to foldback
15776         renamed and added presets for Organic and BitInvader
15777         
15778 2006-02-18      Andreas Brandmaier <andreas/at/brandmaier/dot/de>
15780         * plugins/organic/organic.cpp:
15781         * plugins/organic/organic.h:
15782         * presets/Organic:
15783         added new plugin synthesizer plugin organic and some presets
15785 2006-02-09      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15787         * plugins/triple_oscillator/triple_oscillator.cpp:
15788         per default set volume of each osc to 33%
15790         * allmost all files:
15791         use engine-technology
15793         * include/engine.h:
15794         * src/core/engine.cpp:
15795         added engine- and engineObject-class providing new "engine-technology"
15796         which makes singleton-classes obsoletes and offers a lot of new
15797         possibilities like GUI-data-separation and having several projects
15798         open at the same time
15800 2006-02-06      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15802         * include/mixer.h:
15803         * include/song_editor.h:
15804         * src/core/mixer.cpp:
15805         * src/core/song_editor.cpp:
15806         simple xrun-detection - do not accept new note-play-handles if xruns
15807         are detected
15809 2006-02-06      Andreas Brandmaier <andy/at/brandmaier/dot/de>
15811         * plugins/bitinvader/bitinvader.cpp:
15812         * plugins/bitinvader/bitinvader.h:
15813         * plugins/bitinvader/graph.cpp:
15814         * plugins/bitinvader/graph.h:
15815         - code cleanup
15816         - added drag&drop support to wavegraph
15817         - added new BitInvader presets and improved old ones
15819 2006-02-05      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15821         * include/basic_filters.h:
15822         small optimizations: do not divide by 2.0, instead multiply with 0.5
15824         * src/core/main.cpp:
15825         set SCHED_FIFO-priority for LMMS if possible
15827         * plugins/vestige/communication.h:
15828         * plugins/vestige/lvsl_client.cpp:
15829         * plugins/vestige/lvsl_server.c:
15830         - set SCHED_FIFO-priority for VST-server if possible
15831         - no X-calls needed anymore
15832         - more complete host-callback-implementation
15833         - support for geometry-changes of plugin
15834         - use std::list instead of std::vector for enqueing MIDI-events (faster)
15835         - support for telling plugin system's language
15837         * configure.in:
15838         when checking for VST-SDK-headers, use C++ compiler instead of
15839         C-compilers as headers fail to compile with it
15841 2006-02-04      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15843         * include/types.h:
15844         * most files:
15845         more strict typing -> types for samplerate, bpm, frame-count,
15846         channel-count etc.
15848         * src/core/track.cpp:
15849         when creating a track, pause mixer for not causing any trouble because
15850         of incompletely initialized track etc. - fixes several crashes when
15851         adding track while playing
15853         * include/mixer.h:
15854         * src/core/mixer.cpp:
15855         more "intelligent" mix-mutex-management for allow multiple pause()-
15856         calls without ending in deadlock or crash because of mutex being
15857         unlocked to early
15859 2006-02-02      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15861         * configure.in:
15862         made 0.1.4 release
15864         * Makefile.am:
15865         added -rdynamic-switch again to make LMMS able to load plugins
15867         * include/track_container.h:
15868         fixed bug which caused LMMS not being compilable using GCC 3
15870 2006-02-01      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15872         * configure.in:
15873         made 0.1.3 release
15875         * lmms.1:
15876         added manpage (taken from debian-package and updated)
15878         * include/base64.h:
15879         * include/rubberband.h:
15880         * plugins/bit_invader/graph.cpp:
15881         * src/core/name_label.cpp:
15882         * src/widgets/combobox.cpp:
15883         * src/widgets/rubberband.cpp:
15884         Qt4-compat fixes
15886         * locale/de.ts:
15887         updated German translation
15889         * src/core/main.cpp:
15890         updated copyright-notice in help-text
15892 2006-01-30      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15894         * plugins/vestige/fstclient.h:
15895         * plugins/vestige/fstclient.cpp:
15896         - renamed to lvsl_client.*
15897         - when waiting for plugin to have finished process()ing, usleep() some
15898           micro-seconds for allowing better scheduling
15900         * plugins/vestige/lvsl_server.c:
15901         - merged code from fstserver.cpp, fstserver.h and fstcore.c into one
15902           source-file and removed rests of the old FST-API which makes all
15903           the VST-code MUCH more cleaner and less redundant (LVSL = LMMS VST
15904           Support Layer)
15905         - VST SDK 2.4 compatibility (no need to fix headers with 2.4!)
15907 2006-01-29      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15909         * plugins/bit_invader/bit_invader.cpp:
15910         - call graph::setSamplePointer() after loading settings
15911         - memcpy() samples in bitInvader::smoothClicked() instead of copying
15912           them in a loop
15914         * plugins/bit_invader/graph.cpp:
15915         - update after setting new sample
15917         * src/tracks/pattern.cpp:
15918         - disable auto-cleanup during pattern-freeze
15919         - initialize member m_progress in patternFreezeStatusDialig-dtor - fixes
15920           bug which sometimes closed the window before actual freezing was
15921           started
15923         * include/buffer_allocator.h:
15924         * src/lib/buffer_allocator.cpp:
15925         - added possibility to disable auto-cleanup at certain times e.g. when
15926           freezing a pattern
15927         - cleanup only every 10th free()-call for decreasing overhead
15928         - only start searching for free bufs if there're enough remaining
15930 2006-01-24      Andreas Brandmaier <andy/at/brandmaier/dot/de>
15932         * plugins/bit_invader/bit_invader.cpp:
15933         * plugins/bit_invader/bit_invader.h:
15934         * presets/BitInvader:
15935         - changed sample buffer encoding in presets to base64
15936         - added BitInvader various presets
15938 2006-01-23      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15940         * include/sample_buffer.h:
15941         * src/lib/sample_buffer.cpp:
15942         * plugins/audio_file_processor/audio_file_processor.cpp:
15943         use new base64-code
15945         * include/base64.h:
15946         * src/lib/base64.cpp:
15947         added methods for encoding/decoding binary data to/from base64-encoded
15948         data (wrapper-implementation for Qt4)
15950 2006-01-23      Andreas Brandmaier <andy/at/brandmaier/dot/de>
15952         * plugins/bit_invader/bit_invader.cpp:
15953         * plugins/bit_invader/bit_invader.h:
15954         * plugins/bit_invader/graph.cpp:
15955         * plugins/bit_invader/graph.h:
15956         - improved mouse handling.
15957         - replaced waveform generation methods by those of toby's oscillator
15958           class
15959         - added user-loadable waveform
15960         - code cleanup
15962 2006-01-22      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
15964         * include/timeline.h:
15965         * src/core/song_editor.cpp:
15966         * src/core/timeline.cpp:
15967         updates are now completely done by timeline/QTimer without being
15968         called from song-editor out of non-GUI-thread which caused segfaults
15969         etc. sometimes
15971         * include/name_label.h:
15972         * src/core/name_label.cpp:
15973         * src/tracks/bb_track.cpp:
15974         * src/tracks/sample_track.cpp:
15975         added support for user-defined track-icons
15977         * artwork/track_icons/*png:
15978         added several icons to be used as track-icons
15980         * include/track.h:
15981         * src/core/track.cpp:
15982         * src/core/track_container.cpp:
15983         do not hide track for completely repainting it, use special method for
15984         it
15986         * include/pattern.h:
15987         * src/tracks/pattern.cpp:
15988         only repaint if necessary, otherwise just paint the pixmap we painted
15989         before
15991         * include/bb_editor.h:
15992         * src/core/bb_editor.cpp:
15993         added combobox for selecting bb-track inside bb-editor
15995         * include/combobox.h:
15996         * src/widgets/combobox.cpp:
15997         - added clear()-method
15998         - do not crash when having no items
15999         - scale pixmap to fit into combobox
16000         - place menu below combobox if possible
16002 2006-01-21      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16004         * include/track.h:
16005         * src/core/track.cpp:
16006         * src/tracks/pattern.cpp:
16007         * src/tracks/sample_track.cpp:
16008         added support for used-defined track-height by pressing <Shift> and
16009         move mouse (with pressed button)
16011         * include/song_editor.h:
16012         * include/track.h:
16013         * include/track_container.h:
16014         * src/core/song_editor.cpp:
16015         * src/core/track.cpp:
16016         * src/core/track_container.cpp:
16017         take advantage of new rubberband:
16018         - selecting track-content-objects of any type either via rubberband or
16019           by clicking while pressing <Ctrl>
16020         - move selected track-content-objects
16021         - delete selected track-content-objects
16023         * include/rubberband.h:
16024         * src/widgets/rubberband.cpp:
16025         added rubberband which either acts as wrapper for Qt4's QRubberBand or
16026         as a widget imitating a rubberband
16028         * include/track.h:
16029         * src/core/track.cpp:
16030         draw vertical lines for each bar
16032         * include/bb_editor.h:
16033         * include/song_editor.h:
16034         * include/track_container.h:
16035         * src/core/bb_editor.cpp:
16036         * src/core/song_editor.cpp:
16037         * src/core/track.cpp:
16038         * src/core/track_container.cpp:
16039         fixed all that stuff with annoying scrollbars which partly hid important
16040         widgets
16042 2006-01-21      Andreas Brandmaier <andy/at/brandmaier/dot/de>
16044         * plugins/bit_invader/bit_invader.cpp:
16045         * plugins/bit_invader/bit_invader.h:
16046         added smooth button
16048 2006-01-20      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16050         * src/tracks/pattern.cpp:
16051         also update after clearing all notes
16053         * include/piano_roll.h:
16054         * include/song_editor.h:
16055         * src/core/piano_roll.cpp:
16056         * src/core/song_editor.cpp:
16057         use new combobox for zooming-comboboxes
16059         * include/export_project_dialog.h:
16060         * src/core/export_project_dialog.cpp:
16061         - reject() dialog when pressing cancel
16062         - use new combobox
16064         * include/arp_and_chords_tab_widget.h:
16065         * src/core/arp_and_chords_tab_widget.cpp:
16066         use new combobox with according arpeggio-mode-icons
16068         * include/envelope_tab_widget.h:
16069         * src/core/envelope_tab_widget.cpp:
16070         * resources/filter_2lp.png:
16071         * resources/filter_ap.png:
16072         * resources/filter_bp.png:
16073         * resources/filter_hp.png:
16074         * resources/filter_lp.png:
16075         use new combobox with according filter-icons
16077         * include/combobox.h:
16078         * src/widgets/combobox.cpp:
16079         added own cool-looking combobox with menu-extension which basically
16080         has the same API as QComboBox
16082 2006-01-19      Andreas M. Brandmaier <andy/at/brandmaier/dot/de>
16084         * plugins/bit_invader/bit_invader.h:
16085         * plugins/bit_invader/bit_invader.cpp:
16086         * plugins/bit_invader/graph.h:
16087         * plugins/bit_invader/graph.cpp:
16088         added "BitInvader"-plugin, an usereditable wavetable-synthesizer
16090 2006-01-16      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16092         * src/lib/mmp.cpp:
16093         do not add "mmp"-extensions if there's already "mpt" (multimedia-
16094         project-template) as extension
16096         * include/arp_and_chords_tab_widget.h:
16097         * src/core/arp_and_chords_tab_widget.cpp:
16098         - added new sync-mode to arpeggiator
16099         - arpeggiator-modes are now selectable from combobox
16101 2006-01-15      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16103         * src/core/file_browser.cpp:
16104         use 7.5 instead of 8 as font-size
16106         * src/widgets/led_checkbox.cpp:
16107         use 7.5 instead of 7 as font-size
16109         * include/gui_templates.h:
16110         - added more precise pointSizeF()-method
16111         - more precise point-size-calculation for pointSize()-method which
16112           makes all fonts inside LMMS a bit bigger and everything more
16113           readable
16115         * include/setup_dialog.h:
16116         * src/core/note_play_handle.cpp:
16117         * src/core/setup_dialog.cpp:
16118         * src/tracks/channel_track.cpp:
16119         added switches for disabling several UI-effects for a better
16120         performance even on older hardware
16122         * include/preset_preview_play_handle.h:
16123         * src/core/preset_preview_play_handle.cpp:
16124         global-data-mutex is not a pointer anymore, instead it's a normal
16125         QMutex - fixes crashes with sort-arpeggio if no preset was previewed
16126         before
16128 2006-01-14      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16130         * src/widgets/kmultitabbar.cpp:
16131         made KMultiTabBar working with Qt4
16133         * src/audio/audio_jack.cpp:
16134         return if connection to JACK-server failed with old JACK-API
16135         (jack_client_new(...)) - fixes crash when using old JACK-API with
16136         LMMS and JACK-server is not running
16138         * include/preset_preview_play_handle.h:
16139         * src/core/arp_and_chords_tab_widget.cpp:
16140         * src/core/preset_preview_play_handle.cpp:
16141         as preset-note-play-handle is not registered at mixer, it cannot be
16142         returned in notePlayHandle::nphsOfChannelTrack() and therefore
16143         previewing presets with sort-mode arpeggios doesn't work - now the
16144         arpeggiator also checks preview-note for being the only note there
16146         * src/core/arp_and_chords_tab_widget.cpp:
16147         fixed some bugs in arpeggiator
16149         * src/core/piano_roll.cpp:
16150         lock qapp-thread in recordNote() - hopefully fixes some
16151         xlib-async-errors
16153         * src/tracks/channel_track.cpp:
16154         - do not process note-on-out-events if according key is already pressed
16155         - when invalidating note-play-handles, also reset m_notes-array for not
16156           crashing when applying another preset while key is pressed and
16157           released afterwards
16159 2006-01-10      Alexey Kouznetsov <alexey/dot/kouznetsov/at/gmail/dot/com>
16161         * locale/ru.ts:
16162         updated Russian translation
16164 2006-01-10      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16166         * src/core/piano_roll.cpp:
16167         update pattern after changing volume of step-note
16169 2006-01-09      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16171         * include/setup_dialog.h:
16172         * src/core/config_mgr.cpp:
16173         * src/core/setup_dialog.cpp:
16174         made appearence of two dialogs switchable (question whether to re-run
16175         wizard after up-/downgrade and message after accepting setup-dialog)
16177 2006-01-08      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16179         * include/piano_roll.h:
16180         * src/core/piano_roll.cpp:
16181         * src/tracks/pattern.cpp:
16182         simple support for editing (existing) steps in piano-roll, e.g. for
16183         changing key of a step
16185         * plugins/vestige/vestige.cpp:
16186         per default switch to users VST-plugin-directory when opening plugin
16188         * include/config_mgr.h:
16189         * include/setup_dialog.h:
16190         * src/core/config_mgr.cpp:
16191         * src/core/setup_dialog.cpp:
16192         added possibility to setup working-directory and location of VST-plugins
16194         * src/widgets/tempo_sync_knob.cpp:
16195         removed a lot of obsolete #include's
16197         * include/piano_widget.h:
16198         * src/core/note_play_handle.cpp:
16199         * src/core/piano_widget.cpp:
16200         display played keys as if they were pressed
16202         * include/arp_and_chords_tab_widget.h:
16203         * include/note_play_handle.h:
16204         * src/core/arp_and_chords_tab_widget.cpp:
16205         * src/core/note_play_handle.cpp:
16206         added sort-mode for more powerful arpeggios
16208         * src/core/arp_and_chords_tab_widget.cpp:
16209         fixed bug which made the arpeggiator skipping notes sometimes at
16210         certain arpeggio-times
16212         * src/core/lmms_main_win.cpp:
16213         commented out code for creating effect-board-window-button
16215         * src/core/channel_track.cpp:
16216         removed inclusion of paths.h which isn't part of LMMS for quite a long
16217         while... - there were no problems because Linux has paths.h too
16219 2006-01-06      dieEasy <dieeasy/at/cheapnet/dot/it>
16221         * locale/it.ts:
16222         added Italian translation
16224 2006-01-02      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16226         * plugins/vestige/vestige.cpp:
16227         set vestige-logo as window-icon of plugin-GUI-window
16229         * src/core/instrument.cpp:
16230         set logo of plugin as window-icon of channel-track
16232         * include/dummy_instrument.h:
16233         * include/dummy_plugin.h:
16234         * include/instrument.h:
16235         * include/plugin.h:
16236         * src/core/instrument.cpp:
16237         * src/core/plugin.cpp:
16238         small changes in plugin-API: plugin now always has to pass pointer to
16239         plugin-descriptor to plugin-dtor to make the latter one able to
16240         provide several information
16242         * src/core/plugin.cpp:
16243         search for plugin-libs in configManager::pluginDir() which is
16244         $prefix/lib/lmms - hopefully solves problems with finding plugins on
16245         some systems
16247         * include/channel_track.h:
16248         * include/midi_tab_widget.h:
16249         * src/core/midi_tab_widget.cpp:
16250         * src/tracks/channel_track.cpp:
16251         when using Raw-MIDI-client, make items "MIDI input/output" checkable
16252         and enable/disable MIDI-input/output accordingly if user
16253         checked/unchecked it and update check-state if user changed MIDI-mode
16254         in midi-tab-widget in channel-track
16256         * src/core/midi_tab_widget.cpp:
16257         set MIDI-output-channel to 1 per default
16259         * src/lib/sample_buffer.cpp:
16260         added flac-files to filter of file-selection-dialog
16262         * include/note_play_handle.h:
16263         * src/core/note_play_handle.cpp:
16264         when invalidating note-play-handle, do some stuff which actually would
16265         be done by dtor if m_channelTrack wouldn't be NULL
16267 2006-01-01      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16269         * src/core/track.cpp:
16270         added tooltip to track-op-widget telling the user something about
16271         drag'n'drop-functionality...
16273         * include/lmms_main_win.h:
16274         * src/core/lmms_main_win.cpp:
16275         * src/lib/string_pair_drag.cpp:
16276         if main-window looses focus or a drag is completed, clear
16277         key-modifiers of LMMS-main-window, because we might have lost
16278         key-release-events in these cases and therefore our modifier-state-map
16279         could be incorrect - fixes several bugs concerning drag'n'drop
16281         * README:
16282         * src/core/about_dialog.cpp:
16283         extended copyright from 2005 to 2006 - Happy New Year!
16285 2005-12-31      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16287         * include/channel_track.h:
16288         * src/tracks/channel_track.cpp:
16289         removed surround-area in track-settings-widget and added button with
16290         MIDI-connection-menu instead
16292 2005-12-30      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16294         * include/track.h:
16295         * include/track_container.h:
16296         * src/core/track.cpp:
16297         * src/core/track_container.cpp:
16298         revised all the things around track-operations:
16299         - tracks are now directly movable via the grip at the beginning of a
16300           track - replaces "move up/down"-buttons and is much more usable
16301         - actions (clone/delete track) are now part of a popup-menu
16303         * src/core/lmms_main_win.cpp:
16304         - corrected file-description at the beginning
16305         - add space at left side before adding tool-buttons
16307         * src/core/midi_tab_widget.cpp:
16308         use smaller font for connection-selection-menu
16310 2005-12-29      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16312         * src/widgets/fade_button.cpp:
16313         do not update() directly in nextState(), use QTimer instead for avoiding
16314         xlib-threading-errors
16316 2005-12-28      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16318         * plugins/vestige/communication.h:
16319         * plugins/vestige/fstclient.cpp:
16320         * plugins/vestige/fstclient.h:
16321         * plugins/vestige/fstserver.cpp:
16322         * plugins/vestige/vestige.cpp:
16323         * plugins/vestige/vestige.h:
16324         - support for telling plugin current BPM, also catches BPM-changes
16325         - handle plugins without GUI correctly
16326         
16327         * include/tool_button.h:
16328         * src/widgets/tool_button.cpp:
16329         catch toggle-signals to emit clicked()-signal which is necessary if a
16330         button is checked using setChecked()-method and not by the user -
16331         fixes some bugs with piano-roll
16333         * include/piano_roll.h:
16334         * src/core/piano_roll.cpp:
16335         - show text-float after user copied notes
16336         - do not play note when just moving selection
16337         - when update()ing paint everything in a pixmap which is painted in
16338           paintEvent() - saves all the repaints everytime mouse-cursor is moved
16339           and makes painting tool-cursor possible again
16341         * src/tracks/channel_track.cpp:
16342         corrected calculation in channelTrack::masterKey()
16344 2005-12-27      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16346         * include/piano_roll.h:
16347         * src/core/piano_roll.cpp:
16348         always reset cursor when receiving leave-event
16350         * include/channel_track.h:
16351         * src/tracks/channel_track.cpp:
16352         use new fade-button as MIDI-event-indicator as well as simple
16353         play-default-tone-button
16355         * include/fade_button.h:
16356         * src/widgets/fade_button.cpp:
16357         added fade-button which can be activated and fades back to
16358         default-color afterwards
16360         * src/core/arp_and_chords_tab_widget.cpp:
16361         * src/core/envelope_and_lfo_widget.cpp:
16362         * src/core/envelope_tab_widget.cpp:
16363         * src/core/midi_tab_widget.cpp:
16364         * src/core/note.cpp:
16365         * src/core/song_editor.cpp:
16366         * src/core/track.cpp:
16367         * src/tracks/bb_track.cpp:
16368         * src/tracks/channel_track.cpp:
16369         * src/tracks/sample_track.cpp:
16370         do not use QString::number() for saving scalar value with
16371         setAttribute() as it is obsolete
16373         * src/audio/audio_alsa.cpp:
16374         * src/audio/audio_oss.cpp:
16375         start audio-thread with QThread::HightestPriority for having less xruns
16377         * src/tracks/pattern.cpp:
16378         save m_steps-property, otherwise restoring it in loadSettings() makes
16379         no sense... - fixes bug which caused LMMS to always reset number of
16380         steps to 16 when loading files, even if the user created patterns
16381         containing more than 16 steps
16383         * include/audio_dummy.h:
16384         - fixed missing implementation of thread running the whole time and
16385           calling audioDevice::processNextBuffer() -> fixes bugs & lockups when
16386           using audio-dummy-driver
16387         - thread now always waits the amount of time that is left for the
16388           current buffer, so if rendering of current buffer went faster than
16389           in realtime, the song doesn't play at a higher speed
16391 2005-12-26      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16393         * plugins/vestige/vestige.cpp:
16394         determine real key of note using channelTrack::masterKey
16396         * include/micro_timer.h:
16397         moved micro-timer-class from mixer.cpp in separate header for being
16398         available to all modules of LMMS
16400         * src/core/mixer.cpp:
16401         added metronome-sounds when recording in piano-roll
16403         * src/lib/sample_buffer.cpp:
16404         - added resample()-method for resampling whole sample-buffer
16405         - after libsndfile try to load sample with libvorbis instead of
16406           SDL_sound as the latter one seems to be buggy on few systems and
16407           leads to unexpected crashes
16408         - if sample-decoder doesn't resample sample automatically, do it
16409           afterwards using resample()
16411         * src/core/track_container.cpp:
16412         accept drops of type samplefile and sampledata too and create new
16413         channel-track with AudioFileProcessor
16415         * plugins/audio_file_processor/audio_file_processor.cpp:
16416         save/load sample-data which was dragged on plugin in settings
16418         * src/core/track.cpp:
16419         display correct length and now additionally start- and end-position of
16420         track-content-object
16422         * include/bb_track.h:
16423         * src/tracks/bb_track.cpp:
16424         do not align position and length of bb-track-objects on tact-boundaries
16425         as it offers an interesting new feature (incomplete/start beats etc.!)
16427 2005-12-25      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16429         * src/widgets/visualization_widget.cpp:
16430         enable visualization-widget per default
16432         * plugins/vestige/vestige.cpp:
16433         - do not crash when loading settings with empty plugin-attribute (e.g.
16434           older projects/presets)
16435         - set channel-name according to plugin-name
16436         - added note-off-button for being able to note off hanging notes
16437           (which sometimes occurs in combination with arpeggios)
16439 2005-12-24      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16441         * plugins/vestige/vestige.cpp:
16442         use new parameter-saving/loading-feature when saving/loading settings
16444         * plugins/vestige/communication.h:
16445         * plugins/vestige/fstclient.cpp:
16446         * plugins/vestige/fstclient.h:
16447         * plugins/vestige/fstserver.cpp:
16448         * plugins/vestige/fstserver.h:
16449         * plugins/vestige/fstcore.c:
16450         - added support for saving/loading parameters which almost completes
16451           LMMS's rudimentary VST-support
16452         - support for querying parameter-properties
16453         - some changes in initialization of plugin
16455         * src/tracks/pattern.cpp:
16456         pass unused wheel-events to trackContentObect for being able to scroll
16457         within song-editor
16459 2005-12-23      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16461         * plugins/vestige/fstcore.c:
16462         a lot of clean-ups and other bug-fixes making VeSTige almost usable
16463         and stable
16465         * plugins/vestige/fstclient.h:
16466         * plugins/vestige/fstclient.cpp:
16467         save PID of children when fork()ing XFST-server which is used for
16468         sending SIGTERM when destroying everything
16470         * plugins/vestige/communication.h:
16471         * plugins/vestige/fstclient.cpp:
16472         * plugins/vestige/fstserver.cpp:
16473         * plugins/vestige/fstcore.c:
16474         do not show editor until client created x11-embed-widget - solves
16475         problems with not-embedded plugins under KDE
16477         * plugins/vestige/fstserver.cpp:
16478         rewrote MIDI-enqueueing-code as the old one was very buggy and
16479         unreliable
16481         * plugins/vestige/vestige.h:
16482         * plugins/vestige/vestige.cpp:
16483         added mutex for plugin which solves some problems
16485         * include/mixer.h:
16486         * src/core/mixer.cpp:
16487         per default clear all play-handles but instrument-play-handles in
16488         mixer::clear() as instrument-playhandles normally exist during the
16489         whole life-time of a certain plugin and must not be deleted when just
16490         stopping song etc.
16492         * include/play_handle.h:
16493         added type-information, so every derived class has to pass a
16494         type-constant to playHandle-constructor
16496 2005-12-22      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16498         * configure.in:
16499         made 0.1.2 release
16501 2005-12-21      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16503         * src/lib/sample_buffer.cpp:
16504         - first try to use libsndfile instead of SDL_sound for decoding sample
16505           as SDL_sound sometimes doesn't handle samples (raw- and FLAC-files)
16506           the correct way and returns unusable data while libsndfile seems to
16507           work quite fine with these samples
16508         - when using libsamplerate, use linear-interpolation per default
16509           instead of zero-order-hold-resampling which results in MUCH higher 
16510           quality when resampling as it produces much less artifacts
16512         * src/core/file_browser.cpp:
16513         classify files with extension "flac" as samples
16515         * src/widgets/tab_widget.cpp:
16516         hide all other tabs when changing active tab - necessary for working
16517         with Qt 4.1
16519 2005-12-20      Danny McRae     <khjklujn/at/yahoo/dot/com>
16521         * resources/step_btn_on_100.png:
16522         * resources/step_btn_yellow.png:
16523         * include/pattern.h:
16524         * src/tracks/pattern.cpp:
16525         make it possible to change volume of steps in bb-editor using mouse
16526         wheel and which changes color of step-button accordingly
16528 2005-12-20      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16530         * src/lib/sample_buffer.cpp:
16531         first implementation of FLAC-encoding/decoding for compressing buffers
16532         before encoding them to base64 which results in smaller XML-files -
16533         currently disabled as it's still buggy and unusable
16535         * src/lib/buffer_allocator.cpp:
16536         in cleanup-method use list instead of vector for pool of buffers to be
16537         removed - fixes crash with Qt4
16539 2005-12-19      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16541         * src/widgets/knob.cpp:
16542         made knob ready for drag'n'drop of values
16544         * src/tracks/sample_track.cpp:
16545         load and save/load sample-data which doesn't come from sample in/from
16546         XML-node (base64-encoded)
16548 2005-12-18      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16550         * src/tracks/pattern.cpp:
16551         use Sint32 instead of Sint16 for determining central key, otherwise we
16552         might get overflows when having a lot of notes
16554         * src/tracks/sample_track.cpp:
16555         draw zero-line if sample is shorter than TCO
16557         * src/core/track.cpp:
16558         display text-float with current position/size when moving/resizing TCO
16560         * src/core/song_editor.cpp:
16561         do correct positioning for text-floats for master-volume/-pitch
16563         * include/envelope_and_lfo_widget.h:
16564         * src/core/envelope_and_lfo_widget.cpp:
16565         added support for user-defined wave-shapes - the user just has to drag
16566         an audio-sample into envelope/lfo-widget and that's all ;-)
16568         * src/tracks/pattern.cpp:
16569         * src/tracks/sample_track.cpp:
16570         make sound-buffer of frozen pattern draggable to sample in
16571         sample-track
16573         * include/sample_buffer.h:
16574         * src/lib/sample_buffer.cpp:
16575         support for base64-encoding of sample-data into a QString
16577         * src/core/track_container.cpp:
16578         import MIDI-file to itself when getting according drag'n'drop-request
16580         * plugins/audio_file_processor/audio_file_processor.h:
16581         * plugins/audio_file_processor/audio_file_processor.cpp:
16582         receive drop-events (set dragged sample etc.)
16584         * plugins/vestige/fstclient.h:
16585         * plugins/vestige/fstclient.cpp:
16586         renamed removeVSTPlugin::write/readValue to write/readValueS for
16587         compiling even with buggy GCC 3.x
16589         * include/file_browser.h:
16590         * src/core/file_browser.cpp:
16591         made up all that drag'n'drop-stuff, you're now able to drag samples
16592         and presets directly to according channel, sample etc.
16594 2005-12-17      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16596         * include/bb_editor.h:
16597         * include/pattern.h:
16598         * src/core/bb_editor.cpp:
16599         * src/tracks/pattern.cpp:
16600         always update according bb-tracks when changing pattern/it's length
16602         * include/track.h:
16603         * src/core/track.cpp:
16604         * src/core/track_container.cpp:
16605         drag'n'drop everywhere - now you can drag every track-content-object
16606         (e.g. a pattern) to every other track-content-object of the same type
16607         or to a free place in an according track or just in another
16608         track-container
16610         * include/mmp.h:
16611         * src/lib/mmp.cpp:
16612         allow additionally to load data from given string instead of file
16614         * include/timeline.h:
16615         * src/core/timeline.cpp:
16616         - disable magnetic loop-points when pressing control
16617         - set start-point directly to given position when pressing middle
16618           mouse-button, do the same for end-point of shift is pressed at the
16619           same time
16621         * include/piano_roll.h:
16622         * include/song_editor.h:
16623         * src/core/piano_roll.cpp:
16624         * src/core/song_editor.cpp:
16625         use modifier-key-states from lmmsMainWin instead of monitoring them on
16626         it's own
16628         * include/lmms_main_win.h:
16629         * src/core/lmms_main_win.cpp:
16630         capture key-events and save states of shift, control- and alt-key
16631         everytime it changes - other widgets can use this for querying whether
16632         one of these modifier-keys is pressed
16634 2005-12-16      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16636         * configure.in:
16637         added better LADSPA-check and fixed some other small things
16639         * src/core/mixer.cpp:
16640         query attribute "mididev" instead of "midiclient" for determining
16641         selected MIDI-device - fixes bug with apparently non-selectable
16642         MIDI-device/-client
16644         * src/core/plugin.cpp:
16645         * src/lib/ladspa_manager.cpp:
16646         load plugins using QLibrary instead of platform-dependent dl-functions
16648 2005-12-15      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16650         * include/audio_alsa.h:
16651         do not include alsa-headers if they do not exist...
16653 2005-12-14      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16655         * src/core/file_browser.cpp:
16656         display text-float while loading sample for preview
16658         * plugins/audio_file_processor/audio_file_processor.cpp:
16659         fixed bug which caused LMMS to crash when playing notes on
16660         audio-file-processor, which was created out of preset containing link
16661         to file which doesn't exist
16663         * src/core/song_editor.cpp:
16664         use text-floats instead of status-bar
16666         * src/core/lmms_main_win.cpp:
16667         removed status-bar
16669         * plugins/vestige/vestige.cpp:
16670         show text-float while loading plugin
16672         * include/text_float.h:
16673         * src/widgets/text_float.cpp:
16674         heavy improvements on text-float-widget which is now also able to
16675         display messages with title and pixmap and offers two static methods
16676         for displaying a certain message
16678         * src/tracks/channel_track.cpp:
16679         set project modified after accepting drops of presets/plugins
16681         * include/instrument_play_handle.h:
16682         check for m_instrument being NULL because play-handle might be
16683         invalidated and thus crash when referencing NULL-ptr
16685         * most files:
16686         continued improving Qt4-support
16688 2005-12-13      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16690         * most files:
16691         made LMMS compatible with Qt4 again after heavy development under Qt3
16692         led to incompatibility with Qt4
16694 2005-12-11      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16696         * src/core/lmms_main_win.cpp:
16697         * src/lib/mmp.cpp:
16698         - default file-extension is now "mmp" (MultiMedia Project) instead of
16699           "xml" for being able to associate mmp-files with LMMS in
16700           file-managers etc. - futhermore LMMS-file-browser is much faster now
16701           because it does not have to examine each file
16702         - file-extension for song-templates is now "mpt" (MultiMedia Project
16703           Template)
16705         * include/cpuload_widget.h:
16706         * src/widgets/cpuload_widget.cpp:
16707         added cool CPU-load-widget displaying LMMS's current CPU-usage
16709         * src/core/note_play_handle.cpp:
16710         always check validity of sub-notes as they might not be known to mixer
16711         and therefore not invalidated in certain situations which made LMMS
16712         crashing (e.g. when deleting a channel-track which was current playing
16713         some arpeggio-notes)
16715         * include/pattern.h:
16716         * src/tracks/pattern.cpp:
16717         start separate thread for freezing pattern as this doesn't block the
16718         GUI-thread and user is now able to cancel pattern-freezing (which was
16719         not possible after last rewrite a few days ago)
16721         * include/timeline.h:
16722         * src/core/timeline.cpp:
16723         use timer for periodically screen-updates - locking QApplication-mutex
16724         isn't necessary anymore which makes LMMS not to hang when creating
16725         new song while playing etc.
16727         * src/core/piano_roll.cpp:
16728         when settings time-line-position, call setTact( 0 ) and
16729         setTact64th( 0 )-members instead of pos() = 0 (the latter one leads
16730         to crashes)
16732         * plugins/audio_file_processor/audio_file_processor.cpp:
16733         update start- and end-frames of sample-buffer when loading settings
16735 2005-12-10      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16737         * include/lmms_main_win.h:
16738         * include/song_editor.h:
16739         * src/core/lmms_main_win.cpp:
16740         * src/core/song_editor.cpp:
16741         * resources/toolbar_bg.png:
16742         * resources/main_toolbar_bg.png:
16743         heavy improvements on toolbars
16745         * include/nstate_button.h:
16746         * src/widgets/nstate_button.cpp:
16747         base-class is now toolButton instead of QPushButton
16749         * include/tool_button.h:
16750         * src/widgets/tool_button.cpp:
16751         - moved implemenation of toolButton into cpp-file
16752         - added highlighting during mouse-over
16753         - do not connect clicked()-signal if receiver and/or slot are NULL
16755 2005-12-09      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16757         * include/channel_track.h:
16758         * src/core/midi_tab_widget.cpp:
16759         * src/core/preset_preview_play_handle.cpp:
16760         added support for saving and restoring MIDI-connections of a channel
16761         in ordinary channel-preset-data
16763         * include/channel_track.h:
16764         * include/midi_tab_widget.h:
16765         * src/core/midi_tab_widget.cpp:
16766         * src/tracks/channel_track.cpp:
16767         dropped support for switchable MIDI-event-routing as it is done per
16768         default and actually makes no sense...
16770         * src/midi/midi_port.cpp:
16771         do not process MIDI-out-event if channel = -1
16773 2005-12-08      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16775         * src/core/midi_tab_widget.cpp:
16776         - always un-check items in port-menus when disabling receiving or
16777           sending MIDI-events
16778         - small GUI improvements
16780         * resources/midi_in.png:
16781         * resources/midi_out.png:
16782         added icons for MIDI-input- and MIDI-output-port-selection
16784 2005-12-07      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16786         * include/midi_alsa_seq.h:
16787         * include/midi_client.h:
16788         * include/midi_tab_widget.h:
16789         * src/core/midi_tab_widget.cpp:
16790         * src/midi/midi_alsa_seq.cpp:
16791         * src/midi/midi_client.cpp:
16792         added support for easy MIDI-port-subscription inside LMMS by just
16793         selecting according source-/destination-port from a menu in
16794         MIDI-setup-tab in each channel-window
16796 2005-12-06      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16798         * src/core/note_play_handle.cpp:
16799         * src/core/piano_roll.cpp:
16800         * src/core/piano_widget.cpp:
16801         * src/tracks/channel_track.cpp:
16802         moved output-MIDI-event-generation-code from channel-track to
16803         note-play-handles for covering arpeggio/chords and having exactly
16804         timed events - makes it now possible to control other MIDI-based
16805         synths etc. from patterns (which was not possible before because
16806         of a small bug) - will drop MIDI-out-plugin very soon as it isn't
16807         needed anymore
16809 2005-12-05      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16811         * include/piano_roll.h:
16812         * src/core/piano_roll.cpp:
16813         - when moving mouse draw a bar at current key
16814         - re-enabled mouse-tracking for cursor-changes when mouse is over tail
16815           of note etc.
16817         * resources/zoom.png:
16818         * src/core/song_editor.cpp:
16819         * src/core/piano_roll.cpp:
16820         added small zoom-icon to zoom-combobox
16822 2005-12-04      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16824         * include/midi_alsa_raw.h:
16825         * include/midi_client.h:
16826         * include/midi_dummy.h:
16827         * include/midi_oss.h:
16828         * src/midi/midi_alsa_raw.cpp:
16829         * src/midi/midi_client.cpp:
16830         * src/midi/midi_oss.cpp:
16831         renamed class midiRawClient to midiClientRaw
16832         
16833         * include/pattern.h:
16834         * src/core/song_editor.cpp:
16835         * src/tracks/pattern.cpp:
16836         do not hang in endless loop when rendering pattern with enabled
16837         looping-points
16839         * src/core/time_line.cpp:
16840         align looping-points on bars
16842         * include/bb_editor.h:
16843         * include/piano_roll.h:
16844         * include/song_editor.h:
16845         * include/timeline.h:
16846         * include/tool_button.h:
16847         * src/core/bb_editor.cpp:
16848         * src/core/piano_roll.cpp:
16849         * src/core/song_editor.cpp:
16850         * src/core/timeline.cpp:
16851         redesigned toolbars of song-editor, bb-editor and piano-roll - now
16852         they're looking really cool and especially time-line-features are much
16853         more usable
16855         * include/song_editor.cpp:
16856         * src/core/lmms_main_win.cpp:
16857         * src/core/song_editor.cpp:
16858         - added main-toolbar at bottom of screen and moved several widgets from
16859           song-editor-toolbar into it
16860         - added high-quality-button for switching to 88200/96000 Hz
16862         * src/widgets/tab_widget.cpp:
16863         reversed scroll-wheel-direction for changing tab
16865 2005-12-03      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16867         * src/core/main.cpp:
16868         - better handling of command-line options
16869         - added help switch
16870         - fixed bugs concerning rendering from command-line
16872         * include/audio_alsa.h:
16873         * include/audio_device.h:
16874         * include/audio_dummy.h:
16875         * include/audio_file_device.h:
16876         * include/audio_file_ogg.h:
16877         * include/audio_file_wave.h:
16878         * include/audio_jack.h:
16879         * include/audio_oss.h:
16880         * include/audio_sdl.h:
16881         * include/export.h:
16882         * include/export_project_dialog.h:
16883         * include/mixer.h:
16884         * include/pattern.h:
16885         * include/song_editor.h:
16886         * src/audio/audio_alsa.cpp:
16887         * src/audio/audio_device.cpp:
16888         * src/audio/audio_file_device.cpp:
16889         * src/audio/audio_file_ogg.cpp:
16890         * src/audio/audio_file_wave.cpp:
16891         * src/audio/audio_jack.cpp:
16892         * src/audio/audio_oss.cpp:
16893         * src/audio/audio_port.cpp:
16894         * src/audio/audio_sdl.cpp:
16895         * src/core/export_project_dialog.cpp:
16896         * src/core/lmms_main_win.cpp:
16897         * src/core/main.cpp:
16898         * src/core/mixer.cpp:
16899         * src/core/song_editor.cpp:
16900         * src/track/pattern.cpp:
16901         changed architecture of mixer-system from push- to pull-architecture
16902         which makes almost all things (song-export, pattern-freezing etc.) much
16903         easier and also results in a better performance (especially when using
16904         JACK) - additionally LMMS doesn't take 100% CPU anymore
16906 2005-12-02      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16908         * src/core/config_mgr.cpp:
16909         do not try to re-run wizard in case of version mismatches
16911         * configure.in:
16912         * plugins/Makefile.am:
16913         * presets/Makefile.am:
16914         dropped ladspa_sine_1063-plugin as it is only for experimental
16915         purposes
16917 2005-11-29      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16919         * plugins/vestige/vestige.h:
16920         * plugins/vestige/vestige.cpp:
16921         changes for working with new VST-framework
16923         * plugins/vestige/fstclient.h:
16924         * plugins/vestige/fstserver.h:
16925         * plugins/vestige/fstclient.cpp:
16926         * plugins/vestige/fstserver.cpp:
16927         * plugins/vestige/fstcore.c:
16928         * plugins/vestige/communication.h:
16929         added new VST-framework (client-server-architecture) based on XFST
16931         * include/qxembed.h:
16932         * src/widgets/qxembed.cpp:
16933         added QXEmbed-widget which is necessary for embedding VST-plugin
16935 2005-11-27      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16937         * src/core/mixer.cpp:
16938         added usleep()-call for realizing usable threading and solve problems
16939         with 100%-CPU-usage
16941 2005-11-08      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16943         * include/channel_track.h:
16944         * include/sample_play_handle.h:
16945         * include/sample_track.h:
16946         * src/core/sample_play_handle.cpp:
16947         * src/tracks/channel_track.cpp:
16948         * src/tracks/sample_track.cpp:
16949         made things work with audio-ports
16951         * include/mixer.h:
16952         * src/core/mixer.cpp:
16953         completely revised internal mixing-engine make it working with
16954         the new audio-ports, which results in a much cleaner, faster and more
16955         powerful mixing-engine
16957         * include/audio_port.h:
16958         * src/audio/audio_port.cpp:
16959         added so called audio-ports which are important for transporting sound
16960         from it's origin through the mixer and the effect-board (the latter
16961         one isn't existing yet but coming quite soon) - another important
16962         point is the ability of having output-ports for each channel/sample-
16963         track with JACK
16965         * src/tracks/channel_track.cpp:
16966         translate default-channel-name "Default"
16968         * src/audio/audio_jack.cpp:
16969         - sync JACK's buffer-size with LMMS's one
16970         - start JACK-transport if not already done
16972         * include/mixer.h:
16973         * src/audio/audio_jack.cpp:
16974         * src/core/mixer.cpp:
16975         * src/lib/sample_buffer.cpp:
16976         * src/widgets/visualization_widget.cpp:
16977         use memset() for clearing buffers - obsoletes usage of silence-buffers
16978         in mixer
16980 2005-11-07      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16982         * src/midi/midi_alsa_seq.cpp:
16983         use relative instead of absolute scheduling for events which makes
16984         MIDI-out working
16986 2005-10-31      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16988         * include/midi_alsa_seq.h:
16989         * src/midi/midi_alsa_seq.cpp:
16990         several bug-fixes
16992 2005-10-30      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
16994         * include/midi_alsa_seq.h:
16995         * src/midi/midi_alsa_seq.cpp:
16996         added first version of ALSA-sequencer - currently doesn't handle all
16997         common events, but note-on/off and key-pressure work so far
16999         * include/midi_client.h:
17000         - added method applyPortMode() for making MIDI-subsystem able to get
17001           known of port-mode changes which is necessary if they have REAL
17002           ports like ALSA-seq. has
17003         - renamed validatePortName() to applyPortName() and made it non-pure
17004           virtual
17006         * src/tracks/channel_track.cpp:
17007         initialize m_midiEventRoutingEnabled with FALSE per default in ctor
17009         * src/core/mixer.cpp:
17010         delete midi-dev on exit
17012         * src/midi/midi_midi_alsa_raw.cpp:
17013         when reading/saving device-name via config-mgr, use "midialsaraw"
17014         instead of "midialsa" as context-name
17016 2005-10-28      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
17018         * src/widgets/project_notes.cpp:
17019         set initial text to bright gray, since black text on a very dark back-
17020         ground isn't very readable...
17022         * include/lmms_main_win.h:
17023         * include/setup_dialog.h:
17024         * src/core/bb_editor.cpp:
17025         * src/core/lmms_main_win.cpp:
17026         * src/core/setup_dialog.cpp:
17027         * src/core/song_editor.cpp:
17028         * src/widgets/project_notes.cpp:
17029         added support for GIMP-like usability, i.e. no MDI
17031         * src/core/song_editor.cpp:
17032         * src/core/bb_editor.cpp:
17033         reorder some code in constructor for not crashing if window is
17034         shown while constructor is still running
17036 2005-10-23      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
17038         * src/widgets/led_checkbox.cpp:
17039         also emit toggled()-signal if state actually wasn't changed
17041         * include/lcd_spinbox.h:
17042         * src/widgets/lcd_spinbox.cpp:
17043         - display special strings if value is a certain number
17044         - support for disabled-state (gray/no input)
17046         * include/midi_tab_widget.h:
17047         * src/core/midi_tab_widget.cpp:
17048         * src/tracks/channel_track.cpp:
17049         added new tab "MIDI" for being able to setup MIDI-related stuff for
17050         each channel
17052         * include/channel_track.h:
17053         * include/midi*:
17054         * include/piano_widget.h:
17055         * include/setup_dialog.h:
17056         * src/core/mixer.cpp:
17057         * src/core/piano_roll.cpp:
17058         * src/core/piano_widget.cpp:
17059         * src/core/setup_dialog.cpp:
17060         * src/core/song_editor.cpp:
17061         * src/midi/midi*:
17062         * src/tracks/channel_track.cpp:
17063         coded a completely new, powerful and clean MIDI-system which e.g. makes
17064         it possible to mask MIDI-events for each channel and to receive and send
17065         (timed!) MIDI-events on a separate MIDI-port for each channel, which
17066         only makes sense if using non-raw (sequenced) MIDI-client - currently
17067         none existing, but ALSA-sequencer-support is in progress
17069         * include/midi_device.h:
17070         * src/midi/midi_device.cpp:
17071         removed
17073 2005-10-21      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
17075         * src/widgets/tempo_sync_knob.cpp:
17076         do not implement the same code as knob does in mouseMoveEvent() - call
17077         knob::mouseMoveEvent() instead
17079         * include/knob.h:
17080         * src/widgets/knob.cpp:
17081         cleaned up a lot and fixed some bugs
17083 2005-10-20      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
17085         * include/song_editor.h:
17086         decreased MAX_BPM to 999 since BPM-LCD-spinbox is intended to have
17087         only three digits while 1000 has four of them... ;-)
17089         * include/track_container.h:
17090         * src/core/track_container.cpp:
17091         trackContainer::scrollArea-class has now m_trackContainer-member
17092         for storing parent which makes cast of parent-widget to track-container
17093         (which sometimes failed...) obsolete
17095         * configure.in:
17096         check for libfst and present VST-SDK header-files
17098 2005-10-19      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
17100         * plugins/vestige/vestige.h:
17101         * plugins/vestige/vestige.cpp:
17102         added possibility of opening plugins instead of hardcoding them ;-)
17104         * include/track.h:
17105         renamed createTrack() and cloneTrack() to create() and clone()
17107         * include/track_container.h:
17108         * src/core/track_container.cpp:
17109         receive drop-events -> add channel with instrument/preset
17111         * src/audio/audio_jack.cpp:
17112         removed usleep() out of loop in audioJACK::writeBufferToDev() since it
17113         caused LMMS to hang e.g when removing a track
17115         * src/core/plugin_browser.cpp:
17116         show hand-cursor if over a plugin-description-widget
17118         * src/widgets/pixmap_button.cpp:
17119         if pixmap-button is set non-checkable, draw active-graphic if pressed
17120         down and inactive one in normal state
17122         * include/lmms_main_win.h:
17123         * src/core/lmms_main_win.cpp:
17124         own workspace for making wheelEvent(...) is now obsolete -> removed
17126         * include/track_container.h:
17127         * src/core/song_editor.cpp:
17128         * src/core/track_container.cpp:
17129         added own scroll-area for capturing special wheel-events where a
17130         modifier-key (shift, control etc.) is pressed
17132         * src/core/song_editor.cpp:
17133         removed add-channel-button as it is obsolete after adding plugin-browser
17135         * resources/:
17136         improved icons such as project_*.png and sample-track-related icons
17138 2005-10-18      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
17140         * include/channel_track.h:
17141         * src/tracks/channel_track.cpp:
17142         - moved channelButton-implementation to channel_track.src
17143         - added support for receiving drop-events, which makes channel-track
17144           to load either the given instrument or the given preset
17146         * src/core/plugin_browser.cpp:
17147         * include/plugin_browser.h:
17148         added cool plugin-browser, which displays all available instrument-
17149         plugins which are draggable to a channel-window/button
17151         * include/string_pair_drag.h:
17152         * src/lib/string_pair_drag.cpp:
17153         added drag'n'drop-implementation for dragging string-pairs (key/value)
17154         which provides a standard-interface, although drag'n'drop has changed a
17155         lot in Qt 4
17157         * src/widgets/crystal_button.cpp:
17158         made mouseMoveEvent()-method much more effective
17160         * Makefile.am:
17161         * buildtools/Makefile.am:
17162         build buildtools in subdir instead of top-build-directory - solves
17163         dependendy problems with bin2res
17165         * src/core/file_browser.cpp:
17166         do not depend on typeinfo of audioFileProcessor anymore by using
17167         new setParameter()-method
17169         * include/plugin.h:
17170         added setParameter() and getParameter()-methods for making LMMS able to
17171         set parameters of a specific plugin without knowing anything about it
17173 2005-10-17      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
17175         * buildtools/bin2res.cpp:
17176         * include/embed.h:
17177         * src/lib/embed.cpp:
17178         - declaration of embedded-data-descriptor is now located in embed.h and
17179           part of namespace embed
17180         - added support for local embedded-resources which is important for
17181           plugins containing their own images etc., so data and access-methods
17182           are stored into namespace PLUGIN_NAME
17184         * include/plugin.h:
17185         * src/core/plugin.cpp:
17186         added logo-field to descriptor-structure and simplified method for
17187         getting descriptors of all plugins
17189         * include/basic_filters.h:
17190         removed Moog-2-filter as it is only very CPU-intensive without any
17191         significant difference to sound of normal Moog-filter
17193 2005-10-16      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
17195         * src/lib/ladspa_manager.cpp:
17196         skip not existing/unreadable directories when searching for plugins
17198         * include/vestige.h:
17199         * src/plugins/vestige.cpp:
17200         make use of new instrument-play-handle
17202         * include/channel_track.h:
17203         * src/core/browser.cpp:
17204         * src/core/song_editor.cpp:
17205         * src/midi/midi_file.cpp:
17206         * src/tracks/channel_track.cpp:
17207         renamed loadPlugin() to loadInstrument()
17209         * include/config_mgr.h:
17210         * src/core/config_mgr.cpp:
17211         added pluginDir()-method
17213         * include/instrument_play_handle.h:
17214         added another play-handle for playing instruments which do not
17215         produce sound for each note
17217         * src/plugins/:
17218         renamed directory soundgenerators to plugins and modified all plugins
17219         for working with revised plugin-system
17221         * include/instrument.h:
17222         * include/plugin.h:
17223         * src/core/instrument.cpp:
17224         * src/core/plugin.cpp:
17225         splitted code from instrument up into class plugin and class instrument
17226         and revised plugin-system
17228         * include/instrument.h:
17229         * src/core/instrument.cpp:
17230         renamed files soundgenerator.* to instrument.* as well as class-name
17232 2005-10-15      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
17234         * include/vestige.h:
17235         * src/soundgenerators/vestige.cpp:
17236         new plugin "VeSTige" for handling VST-plugins - VERY experimental,
17237         but at least, we get some sound out of these strange dll-files ;-)
17239 2005-10-13      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
17241         * src/audio/audio_jack.cpp:
17242         do not fill up buffers if JACK-transport is not rolling but at the same
17243         time always handle frame-syncing-var in JACK-callback, even if JACK-
17244         transport is not rolling - fixes several bugs like lockups when
17245         removing tracks while JACK-server is pausing...
17247         * src/widgets/knob.cpp:
17248         fixed bug which caused hidden mouse-cursor forever when pressing right
17249         mouse-button while left one is pressed
17251         * src/lib/ladspa_manager.cpp:
17252         use /usr/lib/ladspa as default-directory if env-var LADSPA_PATH is not
17253         set
17255         * src/soundgenerators/*.cpp:
17256         removed obsolete defaultSettings()-method from each soundgenerator
17258 2005-10-13      Danny McRae     <khjklujn/at/yahoo/dot/com>
17260         * include/ladspa_manager.h:
17261         * include/ladspa_sine_1063.h:
17262         * src/lib/ladspa_manager.cpp:
17263         * src/soundgenerators/ladspa_sine_1063.cpp:
17264         added LADSPA-support and a simple soundgenerator for testing-purposes
17266 2005-10-12      Danny McRae     <khjklujn/at/yahoo/dot/com>
17268         * Makefile.am:
17269         * include/led_checkbox.h:
17270         * src/core/envelope_and_lfo_widget.cpp:
17271         * src/widgets/led_checkbox.cpp:
17272         inherit ledCheckBox from QWidget instead of QCheckBox since it sometimes
17273         caused graphic-errors when running on KDE with Baghira-style...
17275 2005-10-05      Danny McRae     <khjklujn/at/yahoo/dot/com>
17277         * resources/note_double_whole.png:
17278         * resources/note_eighth.png:
17279         * resources/note_half.png:
17280         * resources/note_none.png:
17281         * resources/note_quarter.png:
17282         * resources/note_sixteenth.png:
17283         * resources/note_thirtysecond.png:
17284         * resources/note_whole.png:
17285         * resources/xclock.png:
17286         added icons for context-menu of tempoSyncKnob
17288         * src/widgets/lcd_spinbox.cpp:
17289         emit valueChanged()-signal in wheelEvent()-method
17291         * include/song_editor.h:
17292         * src/core/song_editor.cpp:
17293         - added getBPM()-method
17294         - emit signal if BPM is changed
17296         * include/arp_and_chords_tab_widget.h:
17297         * include/envelope_and_lfo_widget.h:
17298         * src/core/arp_and_chords_tab_widget.cpp:
17299         * src/core/envelope_and_lfo_widget.cpp:
17300         use new tempoSyncKnob-widget instead of traditional time-knob
17302         * include/tempo_sync_knob.h:
17303         * src/widgets/tempo_sync_knob.cpp:
17304         added tempo-sync-knob which automatically converts fixed note-length's
17305         to a fixed time in ms everytime BPM is changed
17307 2005-10-03      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
17309         * include/basic_filters.h:
17310         - added another moog-filter which sounds a bit better but needs MUCH
17311           more CPU-time...
17312         - cleaned up different filter-code-branches
17314 2005-10-02      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
17316         * include/oscillator.h:
17317         cast to int instead of floor()ing value in oscillator::phase() which
17318         makes the whole thing faster again...
17320 2005-09-29      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
17322         * src/widgets/tab_widget.cpp:
17323         fixed bugs when adding widget with already existing index
17325         * Makefile.am:
17326         * include/midi_out.h:
17327         * include/plucked_string_synth.h:
17328         * src/soundgenerators/midi_out.cpp:
17329         * src/soundgenerators/plucked_string_synth.cpp:
17330         classes midiOut and pluckedStringSynth do not have slots or signals,
17331         so Q_OBJECT-macros were removed and MOC-code isn't compiled anymore
17333         * include/sgs:
17334         * src/core/plugin_management.cpp:
17335         removed because not needed anymore with new plugin-system
17337         * configure.in:
17338         * Makefile.am:
17339         * include/audio_file_processor.h:
17340         * include/channel_track.h:
17341         * include/midi_out.h:
17342         * include/plucked_string_synth.h:
17343         * include/sound_generator.h:
17344         * include/triple_oscillator.h:
17345         * src/core/browser.cpp:
17346         * src/core/sound_generator.cpp:
17347         * src/core/song_editor.cpp:
17348         * src/midi/midi_file.cpp:
17349         * src/soundgenerators/*:
17350         * src/tracks/channel_track.cpp:
17351         made all sound-generator-plugins shared libraries loaded at runtime,
17352         which gives much more flexibility because you can load songs/presets
17353         from people having other plugins just by adding according lib*.so file
17354         to /usr/lib - no need to recompile!
17356         * inlude/empty_sg_plugin.h:
17357         added empty sound-generator plugin
17359 2005-09-28      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
17361         * include/song_editor.h:
17362         * src/core/song_editor.cpp:
17363         added combo-box for selectinf zooming-factor
17365         * include/piano_roll.h:
17366         * src/core/piano_roll.cpp:
17367         added combo-box for selecting zooming-factor
17369         * include/led_checkbox.h:
17370         * src/widgets/led_checkbox.cpp:
17371         added methods for querying and setting state
17373         * src/core/arp_and_chords_tab_widget.cpp:
17374         * src/core/envelope_tab_widget.cpp:
17375         better alignment of widgets inside each of this tabs
17377         * src/tracks/channel_track.cpp:
17378         finished improving GUI of channel-track-window by using tabWidget
17379         instead of tabBar for plugin-, env/lfo- and arp-widgets
17381         * include/envelope_and_lfo_widget.h:
17382         * src/core/envelope_and_lfo_widget.cpp:
17383         use ledCheckBox'es instead of pixmapButton's with QLabel's
17385         * include/tab_widget.h:
17386         * src/widgets/tab_widget.cpp:
17387         made tabWidget more powerful:
17388         - use indexed tabs
17389         - different painting if no caption was defined
17390         - switch tabs if wheel-events occurs
17392 2005-09-27      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
17394         * src/tracks/channel_track.cpp:
17395         began improving GUI of channel-track-window
17397         * projects/cool_songs/TobyDox-TheFourthDimension.xml:
17398         added another song...
17400         * include/qt3support.h:
17401         Qt 3.1-support
17403         * include/audio_alsa.h:
17404         define macro ALSA_PCM_NEW_HW_PARAMS_API for working with older ALSA-
17405         versions which offer old and new HW-param-API - we're using the new one
17407 2005-09-26      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
17409         * many files:
17410         make LMMS compile with Qt 3.0 and GCC 2.95
17412 2005-09-25      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
17414         * src/audio/audio_jack.cpp:
17415         - decreased wait-time from 0.5 ms to 0.2 ms in writeBufferToDev(...)
17416         - clear part of buffers that could not be filled for avoiding bad
17417           noise in case there's no data from sound-render-thread, because it is
17418           locked or got no cpu-time for some reason
17420         * src/core/timeline.cpp:
17421         do not call update() in updatePosition, call paintEvent() directly
17422         instead - hopefully fixes the "unexspected Xlib async replies"
17423         which occured in some seldom cases because there were paint-events
17424         generated - something that must not be done in other threads...
17426         * resources/source/songeditor.svg:
17427         * resources/songeditor.png:
17428         created a new song-editor-icon
17430         * src/core/song_editor.cpp:
17431         do not save play-pos from previous play-mode when beginning to play
17432         in different play-mode - fixes bug in timeline behaviour "back to start"
17434 2005-09-24      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
17436         * configure.in:
17437         * include/audio_oss.h:
17438         * include/midi_oss.h:
17439         * src/audio/audio_oss.cpp:
17440         * src/midi/midi_oss.cpp:
17441         made LMMS compiling and working without OSS - configure detects
17442         whether soundcard.h is available
17444         * include/gui_templates.h:
17445         made template pointSize(...) platform-independent by not using x11-
17446         specific qt-classes/-functions
17448         * include/templates.h:
17449         moved pointSize-function with all the headers it depends on into
17450         gui_templates.h
17452         * src/core/mixer.cpp:
17453         - do not initialize member m_surroundSilence if surround is disabled
17454         - free silence-buffers in dtor
17456         * src/tracks/bb_track.cpp:
17457         when drawing gradient skip first and last line as a rect is painted
17458         over it afterwards
17460         * src/core/track_container.cpp:
17461         set modified-state for song when removing track
17463 2005-09-21      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
17465         * configure.in:
17466         made 0.1.1 release
17468 2005-09-20      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
17470         * include/about_dialog.h:
17471         * src/core/about_dialog.cpp:
17472         no need for passing parent when creating about-dialog
17474         * src/core/song_editor.cpp:
17475         - different usage of question-box in songEditor::mayChangeProject()
17476           because of bugs with several qt-versions...
17477         - when exporting song, do use baseName( TRUE ) instead of baseName()
17478           for determining base-name of rendered file
17480         * src/core/lmms_main_win.cpp:
17481         - display filename before app-name in window-title
17482         - only use basename of filename in window-title
17483         - added message referring to LMMS-homepage when clicking on
17484           Help/Help
17486         * src/core/export_song_dialog.cpp:
17487         use lmmsMainWin::resetWindowTitle() for resetting window-title
17488         after export is done
17490         * src/widgets/knob.cpp:
17491         do not add tooltips to knobs - clicking on knob has quite the same
17492         effect so tooltips are just annoying
17494         * src/core/browser.cpp:
17495         when matching file-name, always convert them to lower case for also
17496         handling files like foo.WAV
17498         * src/core/config_mgr.cpp:
17499         added setValue(...)-call for saving working-directory after setting
17500         up everything - fixes bug with empty browsers after fresh personal
17501         installation of LMMS
17503 2005-09-19      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
17505         * configure.in:
17506         made 0.1.0 release
17508 2005-09-18      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
17510         * src/tracks/bb_track.cpp:
17511         revised paintEvent()-method -> bb-TCO's are now painted with a gradient!
17513         * src/core/song_editor.cpp:
17514         - call bbEditor::stop before playing to make sure play-button in
17515           bb-editor is properly reset
17516         - call realignTracks() with parameter TRUE in wheelEvent(...)
17517         - some hacks for making pause-button work...
17519         * src/core/track_container.cpp:
17520         added parameter _complete_update to trackContainer::realignTracks()
17521         to be able to hide and show all tracks which is necessary e.g.
17522         after having changed pixels-per-tact-property -> zooming in song-editor
17523         works now well
17525         * src/core/setup_dialog.cpp:
17526         added message-box telling the user to restart LMMS
17528         * include/midi_alsa_raw.h:
17529         * include/midi_device.h:
17530         * include/midi_oss.h:
17531         * include/midi_dummy.h:
17532         * include/mixer.h:
17533         * include/setup_dialog.h:
17534         * src/core/mixer.cpp:
17535         * src/core/setup_dialog.cpp:
17536         * src/midi/midi_alsa_raw.cpp:
17537         * src/midi/midi_device.cpp:
17538         * src/midi/midi_oss.cpp:
17539         made it possible to select and setup MIDI-device
17541         * include/knob.h:
17542         * src/widgets/knob.cpp:
17543         - many cleanups, coding style improvements etc.
17544         - added new behaviour for controlling knob -> move cursor up/down for
17545           changing value
17546         - replaced usage of status-bar by text-float-widget
17548         * include/text_float.h:
17549         * src/widgets/text_float.cpp:
17550         took text-float from Rosegarden
17552         * include/config_mgr.h:
17553         * src/core/config_mgr.cpp:
17554         - fixed bug in configManager::setValue(): new value-pair was always
17555           pushed back, even if it already existed, so result of value() didn't
17556           change until restart
17557         - moved widget-creation-code from ctor to new method createWidgets()
17558           which fixes problems with unlocalized strings in wizard because
17559           embed::loadTranslation() calls configManager::inst()->localeDir()
17560           for determining path to localization files - this call created all
17561           wizard-widgets before actual localization was loaded...
17563 2005-09-17      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
17565         * src/core/setup_dialog.cpp:
17566         added switches for disabling tooltips and turning on classical knob-
17567         behaviour
17569         * include/led_checkbox.h:
17570         * src/widget/led_checkbox.cpp:
17571         added LED-check-box
17573 2005-09-16      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
17575         * src/core/mixer.cpp:
17576         clear output-buffers in ctor before using them -> avoids awful noises
17577         at startup
17579         * src/core/mixer.cpp:
17580         * src/lib/sample_buffer.cpp:
17581         * src/tracks/channel_track.cpp:
17582         * src/tracks/sample_track.cpp:
17583         use given frame-parameter in methods playing sample-buffers instead
17584         of mixer::framesPerAudioBuffer() -> no clicks at tact-border because
17585         of odd sample-frame-count
17587         * src/core/lmms_main_win.cpp:
17588         call presetPreviewPlayHandle::cleanUp() in dtor -> fixes segfault which
17589         which occured at exit if you previewed a channel during session
17591         * include/preset_preview_play_handle.h:
17592         * src/core/preset_preview_play_handle.cpp:
17593         added cleanUp()-method which deletes blind track-container containing
17594         preset-preview-channel
17596         * src/soundgenerators/triple_oscillator.cpp:
17597         - unified much code by defining setChecked when compiling with Qt 3
17598         - also set file-name of user-defined-wave as tool-tip when loading
17599           settings
17601         * most files in src/:
17602         use new tooltip-system - removes qt3/qt4-compat-code
17604         * include/tooltip.h:
17605         * src/widget/tooltip.cpp:
17606         added tooltip-namespace with method "add(...)" for allowing transparent
17607         usage of tooltips, so there's no difference to code using tooltips
17608         whether it is compiled with Qt 3 or Qt 4
17610 2005-09-14      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
17612         * include/mixer.h:
17613         * include/note_play_handle.h:
17614         * include/play_handle.h:
17615         * src/core/mixer.cpp:
17616         * src/core/note_play_handle.cpp:
17617         * src/tracks/channel_track.cpp:
17618         added play-handle-invalidating-feature making it possible to
17619         invalidate notes of which the objects they depend on do not exist
17620         anymore or things like that. for example channel-track-dtor
17621         invalidates all note-play-handles linked with according channel
17622         -> no segfault when deleting channel-track
17624         * src/core/track_container.cpp:
17625         pause mixer before removing track -> no segfault
17627         * src/lib/mmp.cpp:
17628         initialize m_type in mmp::multimediaProject( projectTypes )
17630         * src/lib/buffer_allocator.cpp:
17631         added mutex for better protection against parallel accesses from
17632         several threads - fixes some segfaults
17634         * src/core/lmms_main_win.cpp:
17635         improved ~lmmsMainWin() which now first instructs mixer to quit it's
17636         thread for avoiding spurious usages of objects to be destroyed
17637         afterwards -> no segfault at the end
17639         * src/core/export_song_dialog.cpp:
17640         * src/tracks/pattern.cpp:
17641         cleaned up exporting/freezing mechanisms by using mixer's new methods
17642         play() and pause()
17644         * include/mixer.h:
17645         * src/core/mixer.cpp:
17646         cleaned up mixer-thread syncing stuff by reorganizing mutexes and
17647         replacing m_waitMutex by m_safetySyncMutex as well as according methods
17648         lockWaitMutex() and unlockWaitMutex() by play() and pause()
17650         * src/core/setup_dialog.cpp:
17651         tell config-manager to save it's config-file when setupDialog is
17652         destroyed
17654 2005-09-13      Stephane Thomas <sthomas/at/nerim.net>
17656         * locale/fr.ts:
17657         added French translation
17659 2005-09-13      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
17661         * src/core/lmms_main_win.cpp:
17662         - show setup-dialog if LMMS is started first time or mixer uses dummy-
17663           audio-driver
17664         - added setup-dialog-entry to settings-menu
17666         * src/lib/mmp.cpp:
17667         if saving preset, check whether file-name contains suffix ".cs.xml"
17668         and add it if necessary
17670         * include/midi_alsa_raw.h:
17671         * src/midi/midi_alsa_raw.cpp:
17672         * src/midi/midi_device.cpp:
17673         - changed everything (including file-names) from midiAlsa to midiALSARaw
17674         - added terminate()-call in dtor for terminating thread properly
17676         * include/tab_bar.h:
17677         * src/widget/tab_bar.cpp:
17678         - added flag for addTab(...)-method indicating whether to use given
17679           text as caption or just as tooltip
17680         - reduced #ifdef QT4-macros by defining some names when compiling
17681           with Qt3
17683         * include/setup_dialog.h:
17684         * src/core/setup_dialog.cpp:
17685         added help-button in audio-setup-tab and improved geometry-stuff
17687         * include/audio_alsa.h:
17688         * include/audio_oss.h:
17689         * src/audio/audio_alsa.cpp:
17690         * src/audio/audio_oss.cpp:
17691         added probeDevice()-method which eases determining device-name in
17692         either actual audio-class as well as in it's setup-widget
17694 2005-09-11      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
17696         * src/core/mixer.cpp:
17697         use new audio-settings-technology for opening audio-device
17699         * include/setup_dialog.h:
17700         * src/core/setup_dialog.cpp:
17701         added setup-dialog for general-, audio- and MIDI-settings
17703         * include/audio_alsa.h:
17704         * include/audio_device.h:
17705         * include/audio_dummy.h:
17706         * include/audio_jack.h:
17707         * include/audio_oss.h:
17708         * include/audio_sdl.h:
17709         * src/audio/audio_alsa.cpp:
17710         * src/audio/audio_device.cpp:
17711         * src/audio/audio_jack.cpp:
17712         * src/audio/audio_oss.cpp:
17713         * src/audio/audio_sdl.cpp:
17714         added setup-widget-technology making it possible to have audio-device-
17715         specific setup-widgets which can be used in setup-dialog etc.
17717         * include/lcd_spinbox.h:
17718         * src/widgets/lcd_spinbox.cpp:
17719         added stepping-functionality
17721         * include/tab_widget.h:
17722         * src/widgets/tab_widget.cpp:
17723         pass caption to constructor instead of using fixed text
17725         * include/tab_bar.h:
17726         * src/widgets/tab_bar.cpp:
17727         - added direction-parameter in constructor
17728         - added exclusive-property
17729         - addTab(...) returns now pointer to tab-button which gives caller
17730           possibility to modify the button
17732         * src/core/mixer.cpp:
17733         save frames-per-audio-buffer-value in ctor if not set yet instead
17734         of saving it in dtor
17736         * src/lib/embed.cpp:
17737         do not return null-pixmap if pixmap not found
17739 2005-09-10      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
17741         * resources/setup_audio.png:
17742         * resources/setup_general.png:
17743         * resources/setup_midi.png:
17744         added icons to be used in setup-dialog
17746         * src/audio/audio_alsa.cpp:
17747         * src/audio/audio_sample_recorder.cpp:
17748         use auto-cleaning pointer in createSampleBuffer(...) (fixes memory-leak
17749         in ALSA-driver)
17751         * include/buffer_allocator.h:
17752         added simple class for auto-cleaning pointers
17754         * src/core/mixer.cpp:
17755         - added delete-calls in mixer::tryAudioDevices()
17756         - init s_instanceOfMe-member in dtor, otherwise LMMS hangs up
17758         * locale/:
17759         * artwork/:
17760         moved translations and some artwork-stuff into locale- and artwork-
17761         directory which is going to be installed into
17762         LMMS-data-dir (/usr/share/lmms etc.) and shrinks executable
17764         * src/lib/embed.cpp:
17765         added possibility to have resources in external files instead of being
17766         linked into executable
17768         * configure.in:
17769         - use macro AS_HELP_STRING for formatting help-strings
17770         - removed --with-latency option as it is not needed anymore
17772 2005-09-06      Alireza <dr/dot/alireza/at/gmail/dot/com>
17774         * resources/ir.ts:
17775         added Persian translation
17777 2005-09-04      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
17779         * src/audio/audio_oss.cpp:
17780         - read device-name from config-file before evaluating environment-
17781           variables etc.
17782         - fixed bugs with device-probing (after dev-file was searched, there    
17783           was no open(...)-call again so it always failed if the first open(...)
17784           didn't work
17786         * src/audio/audio_alsa.cpp:
17787         read device-name from config-file before evaluating environment-
17788         variables or using "default"
17790         * src/core/lmms_main_win.cpp:
17791         call bufferAllocator::cleanUp( 0 ) for destroying all allocated buffers
17793         * include/buffer_allocator.h:
17794         * src/lib/buffer_allocator.cpp:
17795         - added clean-up-technique which removes least used buffers if
17796           buffer-size exceeds limits (which depends on mixer's buffer-size)
17797         - added field to bufDesc indicating usage of this buf - used by
17798           alloc-method for determining most used, free and matching buffer
17800         * include/lcd_spinbox.h:
17801         * src/widgets/lcd_spinbox.cpp:
17802         made lcdSpinBox controlable by scroll-wheel
17804         * src/widgets/knob.cpp:
17805         do not center knob if width of label is greater than actual knob
17807         * src/audio/audio_sample_recorder.cpp:
17808         use bufferAllocator instead of new[]/delete[]
17810         * src/core/mixer.cpp:
17811         - read value for frames-per-audio-buffer out of config-file and save
17812           it at exit
17813         - free buffer at exit
17815         * include/config_mgr.h:
17816         * src/core/config_mgr.cpp:
17817         added value() and setValue()-method which offers all components of LMMS
17818         an easy way for loading/saving their settings at startup/exit
17820 2005-09-02      Mario Izquierdo <mariodebian/at/gmail/dot/com>
17821 2005-09-02      Johnny Saenz <saenzac/at/hotmail/dot/com>
17823         * resources/es.ts:
17824         added Spanish translation
17826 2005-09-02      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
17828         * most files:
17829         finished changes began on 2005-08-29
17831         * include/buffer_allocator.h:
17832         * src/lib/buffer_allocator.cpp:
17833         - only return aligned pointers
17834         - small changes in API
17836         * resources/de.ts:
17837         completed German translation
17839 2005-08-29      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
17841         * most files:
17842         begin to use new bufferAllocator instead of old buffer-types and
17843         use mixer-method for determining current number of frames per
17844         audio-buffer
17846         * include/mixer.h:
17847         types audioBuffer and surroundAudioBuffer don't exist anymore as well
17848         as the constant FRAMES_PER_AUDIO_BUFFER - use
17849         mixer::inst()->framesPerAudioBuffer() instead
17851 2005-08-28      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
17853         * include/song_editor.h:
17854         * src/core/song_editor.cpp:
17855         replaced QSpinBox by lcdSpinBox for BPM-spinbox
17857         * include/tab_bar.h:
17858         * src/widgets/tab_bar.cpp:
17859         removed function-parameter _font_size for tabBar::addTab(...)
17861         * most files:
17862         - replaced QFont::setPointSize()-calls by according pointSize()-calls
17863           which makes LMMS usable at any DPI-resolution
17864         - changes for Qt4-compatibility
17866         * include/misc.h:
17867         * include/template.h:
17868         moved misc.h to template.h and added template-function pointSize
17869         which sets a DPI-independent size for a given font
17871         * src/tracks/channel_track.cpp:
17872         use labeling-feature of LCD-spinbox and removed old QLabel and
17873         layouting-stuff
17875         * include/lcd_spinbox.h:
17876         * src/widgets/lcd_spinbox.cpp:
17877         - fixed bug: when moving mouse up, value was not updated properly
17878         - added labeling-feature
17879         - added valueChanged()-signal
17881         * src/core/arp_and_chords_tab_widget.cpp:
17882         set m_arpDirection correct when loading older settings
17884 2005-08-27      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
17886         * include/channel_track.h:
17887         * src/tracks/channel_track.cpp:
17888         use new LCD-spinbox for effect-spinbox
17890         * include/lcd_spinbox.h:
17891         * src/widgets/lcd_spinbox.cpp:
17892         added LCD-spinbox, an improved QLCDNumber with ability of user-input
17894         * src/core/main.cpp:
17895         changed highlight- and text-color to dark white instead of glaring green
17896         for many people didn't like it...
17898         * include/audio_jack.h:
17899         * src/audio/audio_jack.cpp:
17900         - read and observe buf-size from JACK, so that writeBufferToDev() can
17901           wait accordingly to it - now JACK-transport also works if buf-sizes
17902           of LMMS and JACK are different
17903         - also free buffers in destructor and not just throw them out of list
17905 2005-08-26      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
17907         * include/audio_jack.h:
17908         * src/audio/audio_jack.cpp:
17909         - also work with older versions which do not have jack_client_open()
17910         - fixed bugs
17911         - use bufferAllocator instead of new[] and delete[] in time-critical
17912           functions
17914         * include/buffer_allocator.h:
17915         * src/lib/buffer_allocator.cpp:
17916         added bufferAllocator which is an optimized internal memory-manager
17918 2005-08-24      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
17920         * include/audio_jack.h:
17921         * src/audio/audio_jack.cpp:
17922         beginning of support for JACK-transport
17924         * src/audio/audio_sdl.cpp:
17925         fixed memory leak - m_outputBuffer was not deleted in destructor
17927         * src/core/arp_and_chords_tab_widget.cpp:
17928         completed usage of switchable groupboxes by saving groupbox-states
17929         and evaluating them in processNote()
17931 2005-08-22      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
17933         * resources/afp_artwork.png:
17934         small improvements for better usability and internationalization
17936         * src/soundgenerators/audio_file_processor.cpp:
17937         - cleanups and small improvements concerning painting
17938         - added missing tooltips
17939         - moved open-sample-button right to filename-display-bar
17941         * src/widgets/pixmap_button.cpp:
17942         changed default-pixmaps to led_yellow.png and led_off.png
17944         * resources/pattern_bg.png:
17945         resized from 2x43 to 2x25
17947         * src/core/name_label.cpp:
17948         decreased default-font
17950         * include/track.h:
17951         decreased size of track-settings-widget from 256 to 224
17953         * include/channel_track.h:
17954         * src/tracks/channel_track.cpp:
17955         - use labeling-feature of knob for labeling volume-knob
17956         - use smaller surroundArea in track-settings-widget and smaller
17957           channel-button with smaller font
17959         * src/core/surround_area.cpp:
17960         made surroundArea working with different widget-sizes than default size
17962         * resources/background_artwork.png:
17963         made bg-image more pale
17965         * include/bb_editor.h:
17966         * src/core/bb_editor.cpp:
17967         changed painting-behaviour and made button-bg-gfx's obsolete by using
17968         specialBgHandlingWidget
17970         * include/groupbox.h:
17971         * src/widgets/groupbox.cpp:
17972         improved groupbox by adding animation and more
17974         * src/core/envelope_and_lfo_widget.cpp:
17975         * src/core/envelope_tab_widget.cpp:
17976         - use knobs new labeling-feature
17977         - use new tab-widget for target-widgets
17979         * include/tab_widget.h:
17980         * src/widgets/tab_widget.cpp:
17981         added own tab-widget which looks much cooler than Qt's one
17983         * src/core/arp_and_chords_tab_widget.cpp:
17984         - using now new groupbox-widget and reorganized knob/switch-positions
17985         - revised arpeggio-direction-buttons
17986         - use knobs new labeling-feature
17987         - removed obsolete headers
17989         * include/knob.h:
17990         * src/widgets/knob.cpp:
17991         added labeling-feature for automatically labeling knobs with given
17992         text
17995 2005-08-21      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
17997         * src/widgets/side_bar_widget.cpp:
17998         * src/tracks/channel_track.cpp:
17999         * src/core/config_mgr.cpp:
18000         * src/core/piano_roll.cpp:
18001         * src/core/arp_and_chords_tab_widget.cpp:
18002         * src/core/main.cpp:
18003         * src/core/browser.cpp:
18004         replaced painting-device-dependent method setPixelSize by setPointSize
18006         * src/core/envelope_and_lfo_widget.cpp:
18007         now using new group-box which looks much cooler and is more usable
18009         * include/groupbox.h:
18010         * src/widgets/groupbox.cpp:
18011         added own groupbox-widget with state-LED
18013         * src/widgets/pixmap_button.cpp:
18014         delete m_bgPixmap in destructor
18016         * include/spc_bg_hndl_widget.h:
18017         - made member m_backgroundPixmap to normal QPixmap instead of pointer to
18018           it which also fixes a memory leak as dtor didn't delete the pixmap
18019         - also use erase-pixmap of widget if available
18021         * include/oscillator.h:
18022         - made shape-functions using phase()-function for determining phase of
18023           sample
18024         - made oscillator::phase() using modff instead of floorf-math which
18025           makes the whole thing up to 20% faster
18027         * src/core/about_dialog.cpp:
18028         added URL of project-page of LMMS
18030         * src/core/song_editor.cpp:
18031         create new project if file given in cmd-line is not read-/usable
18033         * include/export_project_dialog.h:
18034         * include/song_editor.h:
18035         * src/core/main.cpp:
18036         * src/core/song_editor.cpp:
18037         added --render command-line-switch to render file and quit as soon as
18038         job is done - very good for benchmarks
18040         * src/core/main.cpp:
18041         added --version command-line-switch
18043 2005-08-20      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
18045         * src/core/lmms_main_win.cpp:
18046         - extended filter for sample-browser
18047         - added home- and root-browser for being able to load songs, presets,
18048           samples etc. from somewhere else than within lmms-working-directory
18050 2005-07-27      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
18052         * src/core/lmms_main_win.cpp:
18053         * src/core/track_container.cpp:
18054         * src/core/track.cpp:
18055         by completing destructors and fixing some other small bugs there's
18056         finally no seg-fault when quitting app! (the bug annoying for months...)
18058         * include/track_container.h:
18059         all public-slots were made to normal public and FASTCALLed functions
18060         since they aren't connected to a signal anywhere and it just blows up
18061         qt-moc-code
18063         * include/sample_track.h:
18064         made method sampleTCO::changeLength(...) FASTCALLed since it's virtual
18065         and method in base-class is also FASTCALLed - eliminates crash when
18066         resizing sample
18068         * include/track.h:
18069         * src/core/track.cpp:
18070         removed unsused method setTrackWidgetHeight( int )
18072 2005-07-26      Pedro Lopez-Cabanillas <pedro/dot/lopez/dot/cabanillas/at/gmail/dot/com>
18074         * src/core/browser.cpp:
18075         * src/core/config_mgr.cpp:
18076         * src/core/lmms_main_win.cpp:
18077         * src/core/main.cpp:
18078         * src/core/song_editor.cpp:
18079         * src/lib/mmp.cpp:
18080         * src/tracks/pattern.cpp:
18081         * src/widgets/project_notes.cpp:
18082         small changes for compatibility with Qt 3.1
18084         * src/midi/midi_alsa.cpp:
18085         * src/midi/midi_oss.cpp:
18086         added MIDIDEV-environment variable for being able to choose a MIDI
18087         device different from the default one
18089 2005-07-24      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
18091         * include/midi_mapper.h:
18092         * src/midi/midi_mapper.cpp:
18093         added MIDI-mapper to be used in combination with midiDevice's and/or
18094         MIDI-Out-Plugin which can read MIDI-maps added before
18096         * midi-maps/*map:
18097         added MIDI-maps from KMid
18099         * include/midi_dummy.h:
18100         * src/midi/midi_device.cpp:
18101         added dummy MIDI-driver for not crashing if no MIDI-device is available
18103         * src/core/piano_roll.cpp:
18104         - go to start of pattern when pressing home-key
18105         - added support for zooming
18107         * src/core/song_editor.cpp:
18108         - fixed bug with loop-points by setting current-frame-var to zero to
18109           force reset of it
18110         - added auto-scrolling ability
18111         - fixed bug which caused horizontal scrollbar to have an undefined
18112           max-value after starting up LMMS
18113         - go to start of pattern when pressing home-key
18115 2005-07-23      Alexey Kouznetsov <alexey/dot/kouznetsov/at/gmail/dot/com>
18117         * resources/ru.ts:
18118         added Russian translation
18120 2005-07-23      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
18122         * src/core/piano_roll.cpp:
18123         scroll back when stopping and play-position changes to invisible area
18125         * include/time_line.h:
18126         * src/core/song_editor.cpp:
18127         * src/core/time_line.cpp:
18128         added control-buttons to time-line making it possible to control
18129         things like auto-scrolling, looping and play-position after stop
18131         * src/midi/midi_device.cpp:
18132         limit volume between 0 and 127 when sending out note-on-event
18134 2005-07-21      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
18136         * include/nstate_button.h:
18137         * src/widgets/nstate_button.cpp:
18138         added widget nStateButton which is a button able to have n different
18139         states with according pixmaps and tooltips
18141         * resources/back_to_zero.png:
18142         * resources/keep_stop_position.png:
18143         * resources/back_to_start.png:
18144         * resources/loop_points_off.png:
18145         * resources/loop_points_on.png:
18146         * resources/autoscroll_off.png:
18147         * resources/autoscroll_on.png:
18148         added pixmaps for buttons to be used in time-line as soon as possible
18150         * lmms-0.1.0rc1.tar.bz2:
18151         release of Release Candidate 1 of LMMS 0.1.0
18153 2005-07-20      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
18155         * src/midi/midi_file.cpp:
18156         - proper handling of note-on-events which velocity 0 -> treat like
18157           note-off-events makes it now possible to import a much larger amount
18158           of MIDI-files
18159         - added progress-dialog when importing MIDI-file
18161         * src/core/song_editor.cpp:
18162         horizontal scrollbar is now placed some pixels above lower edge so that
18163         it doesn't take action when resizing song-editor-window at lower edge
18165         * src/core/track_container.cpp:
18166         added progress-dialog for loading project and according
18167         qApp->processEvents()-call -> LMMS now isn't blocked anymore while
18168         loading project
18170         * include/knob.h:
18171         * src/widgets/knob.cpp:
18172         fixed bugs caused by changes made before for scroll-wheel-support
18174 2005-07-19      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
18176         * include/knob.h:
18177         * src/widgets/knob.cpp:
18178         added better scroll-wheel support which increases/decreases knob-value
18179         by 20th of range (e.g 0.05 if knob is ranged between 0 and 1)
18181 2005-07-17      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
18183         * projects/:
18184         added "covers"-dir and added "Preludium and Fuge A-Minor" by J.S.Bach
18185         to it as first covered project ;-)
18187         * src/core/note_play_handle.cpp:
18188         - fixed bad bug in notePlayHandle::play(): instead of directly being
18189           deleted, sub-notes were given to mixer to be removed when they played
18190           completely but since these sub-notes are not known to mixer, it
18191           couldn't delete them
18192         - always call channelTrack::deleteNotePluginData() in
18193           noteplayhandle-dtor even if pointer to note-plugin-data is NULL so
18194           that all plugins are notified when note is done (midiOut-plugin
18195           needs that for sending note-off-events!)
18197         * include/midi_out.h:
18198         * src/soundgenerators/midi_out.cpp:
18199         new plugin midiOut which sends all notes on this channel out to
18200         external midi-device this is especially cool for playing arpeggio for
18201         key pressed on external midi-device!!
18203         * src/soundgenerators/plucked_string_synth.cpp:
18204         removed unneccesary inclusion of qpainter-header
18206         * include/midi_file.h:
18207         * src/midi/midi_file.cpp:
18208         * src/core/lmms_main_win.cpp:
18209         * src/core/song_editor.cpp:
18210         added support for importing MIDI-file (very experimental!!)
18212         * include/midi.h:
18213         * include/midi_device.h:
18214         moved general MIDI-stuff from midi_device.h to midi.h
18216         * src/audio/audio_file_device.cpp:
18217         added missing arg()-call to QMessageBox::critical()-call in
18218         audioFileDevice-ctor
18220 2005-07-16      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
18222         * src/core/config_mgr.cpp:
18223         added shortcuts to navigation-buttons
18224         
18225 2005-07-14      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
18227         * src/core/piano_roll.cpp:
18228         only play notes while editing if we're not in play-mode
18230         * include/song_editor.h:
18231         * src/core/song_editor.cpp:
18232         when exporting always render one additional tact at the end so that
18233         we don't cut off notes with delay etc.
18235 2005-07-12      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
18237         - successful compilation with GCC 4.0.1 ;-)
18239         * src/core/arp_and_chords_tab_widget.cpp:
18240         fixed bug responsible for playing base-notes of chords all time
18241         if any arpeggio selected was selected
18243 2005-07-11      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
18245         * resources/source/wizard_files.xcf:
18246         * resources/wizard_files.png:
18247         updated project-file-icon in image
18249         * src/core/config_mgr.cpp:
18250         - ask user whether to re-run setup-wizard if config-file indicates
18251           different version of LMMS
18252         - removed redundant assignment in configManager::loadConfigFile()
18253         - added additional layout for having space at the left and right side
18254         - increased font-size of title
18256         * Makefile.am:
18257         install LMMS-icon into LMMS-data-dir
18259         * lmms-0.1.0beta.tar.bz2:
18260         made beta-release of 0.1.0 and announced it on kde-apps.org
18262 2005-07-10      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
18264         * presets/TripleOscillator/:
18265         added cool Church Organ preset and improved Xylophon preset
18267         * resources/de.ts:
18268         updated German translations and cleaned up all obsolete translations 
18269         and context which shrinks the file by 50K...
18271         * samples/instruments/:
18272         removed vibraphone01.ogg because of poor quality
18274         * src/core/piano_roll.cpp:
18275         - do not set what's-this-texts as tooltips for play/stop-button
18276         - added tooltip and what's-this-text to record-button
18277         - display message in piano-roll how to open a pattern if none is opened
18278         - always set window-title, even if no pattern is opened
18280         * src/core/mixer.cpp:
18281         using iterators in second loop in mixer::run() leads to crashes, so
18282         an optimized version of the old code is used now again...
18284         * src/core/lmms_main_win.cpp:
18285         added tool-buttons for new project, open/save project etc. and added
18286         popup-menu to new-button containing projects in template-directory
18288         * include/song_editor.h:
18289         * src/core/song_editor.cpp:
18290         - changed remaining method-names containing "[Ss]ong" to "[Pp]roject"
18291         - toggle channel-button after adding channel-track
18293         * include/export_project_dialog.h:
18294         * src/core/export_project_dialog.cpp:
18295         renamed from export_song_dialog.ext to export_project_dialog.ext
18297 2005-07-09      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
18299         * all files:
18300         now all source-code-files but some single exceptions do not have more
18301         than 80 characters per line and also were made to conform one
18302         programming-style 
18304         * include/sgs:
18305         wrote sane soundgenerator-plugin-scanner using bash-scripting which
18306         replaces old, dirty and exaggerated c++-program and is also fully
18307         portable
18309         * include/lmms_main_win.h:
18310         * include/song_editor.h:
18311         * src/core/lmms_main_win.cpp:
18312         * src/core/song_editor.cpp:
18313         renamed methods newFile, openFile etc. to createNewProject, openProject
18314         etc.
18316         * resources/source/:
18317         - renamed filenew.png, fileopen.png etc. to project_new.png etc.
18318         - replaced song_file.png by project_file.png which has a new file-icon
18319           with LMMS-logo inside
18320         - replaced preset_file.png by new graphic where the star is inside
18321           of a file-icon
18323         * resources/source/lmms_logo.svg:
18324         made logo Inkscape 0.41 compatible (had problems with gradients since
18325         logo originally had been made with Inkscape 0.39)
18327         * src/widgets/project_notes.cpp:
18328         removed unnecessary name-strings for QActions
18330         * resources/project_notes.png:
18331         replaced 16x16-icon with 22x22-icon to provide big enough icon for
18332         toolbar which needs 22x22-icons
18334         * src/core/bb_editor.cpp:
18335         * src/core/song_editor.cpp:
18336         * src/tracks/bb_track.cpp:
18337         do not crash if either there're no bb-tracks but bb-editor has tracks
18338         or there're bb-tracks but bb-editor contains no tracks
18340         * src/core/mixer.cpp:
18341         * src/core/note_play_handle.cpp:
18342         * src/core/track_container.cpp:
18343         * src/tracks/pattern.cpp:
18344         rewrote loops using vectors to use iterators instead of indices etc.
18345         which makes it all a bit smaller and faster since we do not always have
18346         to access the current element using the []-operator
18348 2005-07-08      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
18350         * src/core/envelope_tab_widget.cpp:
18351         * src/lib/sample_buffer.cpp:
18352         * src/widgets/knob.cpp:
18353         small fixes for making compilable with qt4
18355         * configure.in:
18356         * projects/:
18357         added directories "tutorials" and "recorded_loops"
18359 2005-07-07      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
18361         * include/bb_track.h:
18362         added FASTCALL to moveLocation(...) and changeLength(...) which fixes
18363         crash-bug
18365         * src/core/song_editor.cpp:
18366         do not confirm overwriting file if new project was just saved
18368         * samples/:
18369         added a lot of new samples from wikisource and others
18371 2005-07-06      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
18373         * include/project_notes.h:
18374         * src/core/song_editor.cpp:
18375         * src/widgets/project_notes.cpp:
18376         clear project-notes when clearing song (new/open file etc.)
18378         * src/tracks/pattern.cpp:
18379         ask user when he tries to freeze a pattern of a muted channel whether he
18380         wants to continue since freezing a pattern of a muted channel makes no
18381         sense (you're rendering silence!)
18383         * include/piano_roll:
18384         * src/core/piano_roll.cpp:
18385         - added possibility to edit the volume of notes
18386         - removed all bool-variables indicating whether an action is being
18387           performed at the moment and introduced m_action, indicating
18388           one of the actions defined in (also new) enum editActions
18389         - replaced m_startTone and m_startOctave with one variable m_startKey,
18390           which makes a lot of code unnecessary
18391         - rewrote loops using note-vectors to use iterators instead of
18392           indices and vector::size()
18393         - renamed m_evolutionHeight to m_notesEditHeight
18394         - replaced QMouseEvent::pos().[xy]()-calls with QMouseEvent::[xy]()
18395         - pianoRoll::getKey() does now take y-position (int) as parameter
18396           instead of QPoint since it only needs y-position
18397         - use new setKey()/key()-member of note everywhere where it is possible
18399         * include/note.h:
18400         added setKey()- and key()-member which setting/getting absolute key
18401         of note
18403 2005-07-05      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
18405         * configure.in:
18406         * projects/:
18407         categorized projects in "cool_songs", "demos", "misc" and "templates"
18408         so that we don't annoy the user with a lot projects in his/her project-
18409         root - have to fill up "templates" with project-templates, e.g.
18410         basic drum-kit, accoustic drum-kit etc.
18412         * most files:
18413         added FASTCALL-attributes to functions taking at least one parameter
18415         * include/audio_file_processor.h:
18416         * include/plucked_string_synth.h:
18417         * include/triple_oscillator.h:
18418         moved deleteNotePluginData()-method into according cpp-files which
18419         makes including note_play_handle.h obsolete
18421         * include/audio_file_processor.h:
18422         * include/sample_buffer.h:
18423         * src/lib/sample_buffer.cpp:
18424         * src/soundgenerators/audio_file_processor.cpp:
18425         added support for saving sample-rate-conversion-state in m_pluginData
18426         of a note which fixes bug making clicks in sound when playing a sample
18427         simultanously at different pitches
18429         * configure.in:
18430         check whether compiler knows floorf and powf and if not, define them
18431         to floor/pow
18433 2005-07-04      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
18435         * most files:
18436         made LMMS compiling (and working) with Qt 3.0, GCC 2.95 and other old
18437         libs (compiled it under Knoppix 3.1)
18439         * include/misc.h:
18440         changed names of abs, min, max, limit to myAbs, myMin etc. for not
18441         conflicting with functions of STL with the same name
18443         * configure.in:
18444         * src/lib/sample_buffer.cpp:
18445         added support for versions of libsndfile < 1.0.11 since API has changed
18446         in libsndfile 1.0.11
18448 2005-07-03      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
18450         * resources/control_env_amount_active.png:
18451         * resources/control_env_amount_inactive.png:
18452         * include/envelope_and_lfo_widget.h:
18453         * src/core/envelope_and_lfo_widget.cpp:
18454         it's now possible to control the amount of an envelope with the
18455         according LFO by toggling new button (otherwise the level of the LFO is
18456         added to the level of the envelope as it always has been)
18458         * src/core/envelope_and_lfo_widget.cpp:
18459         now you can toggle the amount of an envelope/LFO between 0 and 1 by
18460         clicking on according graph
18462         * all files:
18463         updated mail-address in header
18465         * src/audio/audio_device.cpp:
18466         always use SURROUND_CHANNELS as channel-count for libsrc since
18467         resampling is done on surround-buffers - fixes bug which was
18468         responsible for producing useless noise when exporting file in
18469         high-quality-mode
18471         * src/core/export_song_dialog.cpp:
18472         made "high-quality-mode"-switch working (disabled for some reason
18473         in 0.0.9...)
18475         * src/core/mixer.cpp:
18476         when restoring audio-device, also restore quality-level
18478         * include/bb_editor.h:
18479         * src/core/bb_editor.cpp:
18480         cleaned up a lot because there was still much code from times when
18481         the track-technology didn't exist and which isn't now used any more
18483         * src/audio/audio_alsa.cpp:
18484         added support for 48 KHz soundcards
18486 2005-07-02      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
18488         * configure.in:
18489         * src/lib/sample_buffer.cpp:
18490         made it possible to compile LMMS without SDL_sound, reorganized
18491         sample-decoding and added libsndfile- and libvorbis-support
18493         * include/midi_time.h:
18494         added operators "=", "+=", "-=" and implemented copy-ctor
18496         * include/piano_roll.h:
18497         made currentPattern() a const method and added validPattern()
18499         * src/tracks/pattern.cpp:
18500         optimized addNote() function which uses m_note.push_back() for notes
18501         beyond last note
18503         * src/core/piano_roll.cpp:
18504         * src/tracks/pattern.cpp:
18505         when pattern is destroyed it checks whether it is currently opened in
18506         piano-roll and if so pattern lets piano-roll set its pointer to current
18507         pattern to NULL. piano-roll does now always check whether current
18508         pattern is not NULL. in this case it denies any actions. fixes bug which
18509         led to crash when having piano-roll open while deleting pattern (e.g.
18510         creating new file, opening file etc.)
18512 2005-07-01      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
18514         * all files:
18515         replaced "location" in names of functions/variables by "position"
18516         for more clear and unified names
18518         * include/piano_roll.h:
18519         * include/timeline.h:
18520         * src/core/piano_roll.cpp:
18521         * src/core/timeline.cpp:
18522         added support for autoscroll in piano-roll when playing/recording
18523         pattern
18525 2005-06-30      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
18527         * include/channel_track.h:
18528         * include/midi_device.h:
18529         * include/mixer.h:
18530         * include/pattern.h:
18531         * src/core/piano_roll.cpp:
18532         * src/midi/midi_device.cpp:
18533         * src/tracks/channel_track.cpp:
18534         added support for recording notes from MIDI-device (e.g. MIDI-keyboard
18535         or virtual channel-piano) in a pattern using the piano-roll
18537         * include/pattern.h:
18538         * src/core/song_editor.cpp:
18539         fixed bug which led to crash: when pattern was played in non-looping
18540         mode song-editor always called pattern::finishFreeze() even if there
18541         actually was no pattern-freezing-process -> added isFreezing() which
18542         is called by song-editor for checking whether pattern is being freezed
18543         before calling finishFreeze()
18545         * src/core/lmms_main_win.cpp:
18546         * src/lib/sample_buffer.cpp:
18547         when showing open-file-dialog, use QFileDialog::selectedFiles()[0]
18548         instead of QFileDialog::selectedFile() because selectedFile() returns
18549         incorrect file-name if user clicked on the file and then on
18550         "Open"-button instead of double-clicking file
18552         * src/audio/audio_oss.cpp:
18553         * src/soundgenerators/triple_oscillator.cpp:
18554         * src/tracks/channel_track.cpp:
18555         added #include <stdlib.h> for solving problems with undeclared
18556         functions getenv() and rand() on some distributions (e.g Slackware)
18558         * src/core/track.cpp:
18559         * src/soundgenerators/triple_oscillator.cpp:
18560         * src/tracks/channel_track.cpp:
18561         added missing #include "debug.h" for solving problems with undeclared
18562         assert() because of not included assert.h
18564 2005-06-29      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
18566         * configure.in:
18567         * include/audio_sdl.h:
18568         * src/lib/sample_buffer.cpp:
18569         if SDL/SDL.h does not exist, search for it in SDL10, SDL11 etc. and
18570         include according headers in source-files (solves problems on FreeBSD)
18572         * README:
18573         updated everything a bit...
18575 2005-06-28      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
18577         * include/envelope_tab_widget.h:
18578         * src/core/envelope_tab_widget.cpp:
18579         use button instead of knob for turning filter on/off
18581 2005-06-27      Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
18583         * samples/effects/Makefile.am:
18584         don't install effect-samples into directory of basses-samples