Commit Graph

1999 Commits

Author SHA1 Message Date
Daniel Winzen
0891c53582 More memory fixes
This fixes memory leaks in ZASF and Controller. It also sets an uninitalised variable in audio_file_processor.
2014-12-17 21:01:26 +01:00
Daniel Winzen
d21f0a7114 Remove RackView widget before deleting the ChannelView
Fixes the following two errors I spotted using valgrind:
When deleting a channel;
==936== Invalid read of size 8
==936==    at 0x56FA1D: FxMixerView::deleteChannel(int) (FxMixerView.cpp:374)
==936==    by 0x60E9A79: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.6)
==936==    by 0x5216BF1: QAction::triggered(bool) (in /usr/lib/x86_64-linux-gnu/libQtGui.so.4.8.6)
==936==    by 0x52185C2: QAction::activate(QAction::ActionEvent) (in /usr/lib/x86_64-linux-gnu/libQtGui.so.4.8.6)
==936==  Address 0x14d51b90 is 32 bytes inside a block of size 40 free'd
==936==    at 0x4C2C2E0: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==936==    by 0x56F9ED: FxMixerView::deleteChannel(int) (FxMixerView.cpp:370)
==936==    by 0x60E9A79: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.6)
==936==    by 0x5216BF1: QAction::triggered(bool) (in /usr/lib/x86_64-linux-gnu/libQtGui.so.4.8.6)

When loading a new project after adding some channels:
==936== Invalid read of size 8
==936==    at 0x570785: FxMixerView::refreshDisplay() (FxMixerView.cpp:202)
==936==    by 0x4B590E: Song::clearProject() (Song.cpp:740)
==936==    by 0x4B7885: Song::createNewProject() (Song.cpp:817)
==936==    by 0x60E9A79: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.6)
==936==  Address 0x56a12ab0 is 32 bytes inside a block of size 40 free'd
==936==    at 0x4C2C2E0: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==936==    by 0x57075B: FxMixerView::refreshDisplay() (FxMixerView.cpp:201)
==936==    by 0x4B590E: Song::clearProject() (Song.cpp:740)
==936==    by 0x4B7885: Song::createNewProject() (Song.cpp:817)
2014-12-16 22:46:37 +01:00
falkTX
f2ab783db9 Fix build when using old linux systems 2014-12-16 19:40:31 +00:00
Tres Finocchiaro
569c83101a Merge pull request #1451 from curlymorphic/i1450
Proposed fix for 1450 Mem leak in sample-track
2014-12-16 12:23:39 -05:00
Dave French
8b2ce06da8 Proposed fix for 1450 Mem leak in sample-track 2014-12-16 16:41:08 +00:00
Tres Finocchiaro
a182a3e8cc Fix scroll bar gap
Closes #1437
2014-12-13 12:11:31 -05:00
tresf
a8924a34dd Check major/minor version before setting theme directory 2014-12-13 11:27:14 -05:00
Vesa V
73cad09968 Update FxMixer.cpp
prevent double adding of jobs
2014-12-13 13:05:50 +02:00
Vesa
4a6257a47c Fix master channel peak display
Fix #1427

Conflicts:

	src/core/FxMixer.cpp
	src/gui/FxMixerView.cpp
2014-12-10 01:33:49 +02:00
Vesa
2e8534955b Fix FX mixer race condition
Conflicts:

	src/core/FxMixer.cpp
2014-12-07 22:34:37 +02:00
Raine M. Ekman
c3c5501396 Master kill switch for journalling, useful when closing program. 2014-12-01 21:28:29 +02:00
Vesa V
4cbb2b721f Update timeline.cpp
tab added
2014-11-29 21:52:21 +02:00
dave
05fd71190b fix for underlying bug 1293 loop markers
initilized m_moveXoff when moving loop markers
2014-11-29 11:41:27 +00:00
Lukas W
a9bc056400 Piano Roll: Don't switch to select mode when pressing Ctrl+A
Or don't act like we did. Fixes #431
2014-11-26 01:09:39 +01:00
Lukas W
394d8da286 When removing a track, remove its solo state
Fixes #1103
2014-11-26 01:09:33 +01:00
Lukas W
e7cbc55c69 Instrument view: Restrict mouse wheel tab switching
Only switch the view's tab when the mouse pointer is hovering over the tabs. Closes #712.
2014-11-26 01:07:53 +01:00
Vesa V
55c59a77bd Merge pull request #1327 from DanWin/stable-1.1
Fix most warnings and errors when generating translation files
2014-11-25 21:04:04 +02:00
Lukas W
e47c1242b8 Add scrollbar to instrument plugin browser
Fixes #959
2014-11-25 00:36:23 +01:00
pascal
e6ca46fabb Merge branch 'stable-1.1' of https://github.com/midi-pascal/lmms into stable-1.1 2014-11-23 15:44:38 -05:00
pascal
d1e50b9f32 Bug #1335
Hide Size and Maximize options from the intrument dialog
system menu since its size is fixed.
2014-11-23 15:24:42 -05:00
Daniel Winzen
92930b2240 Update German translation 2014-11-21 21:40:26 +01:00
Daniel Winzen
df3a03f64c Add more missing Q_OBJECT macros 2014-11-21 21:08:48 +01:00
Lukas W
22ec15f2d7 PianoRoll arrow key behaviour tweaks
* Ctrl + Left/Right moves selected notes by one bar
  (Old behaviour was to move the playnote)
  Closes #811
* Shift + Up/Down moves selected nodes by one semitone
  (Old behaviour was to ignore the Shift key and move the viewport)
  Closes #810
2014-11-21 17:04:46 +01:00
Daniel Winzen
a9a851d2f0 About dialog: Move involved tab into .ui file 2014-11-21 16:29:32 +01:00
Vesa
1cd3c9be2c Fix logscale saving
User-set logscale property wasn't getting saved properly in projects, fixed now
2014-11-21 13:55:32 +02:00
Daniel Winzen
3ca76d40ed Add missing Q_OBJECT macros in header files
Fixes 20 warnings similar to the following ones when generating a translation file with e.g. "make de.ts":
/home/daniel/Lmms/src/tracks/AutomationTrack.cpp:40: Class 'AutomationTrack' lacks Q_OBJECT macro
/home/daniel/Lmms/src/core/FxMixer.cpp:41: Class 'FxRoute' lacks Q_OBJECT macro
/home/daniel/Lmms/src/core/FxMixer.cpp:554: Class 'FxMixer' lacks Q_OBJECT macro
/home/daniel/Lmms/src/gui/widgets/MeterDialog.cpp:52: Class 'MeterDialog' lacks Q_OBJECT macro
...
2014-11-21 06:46:47 +01:00
Tres Finocchiaro
67c4f4fa14 Merge pull request #1331 from grindhold/stable-1.1
adjust height of setup_dialog for  stable-1.1

Closes #1328
2014-11-19 11:29:45 -05:00
grindhold
b09067e0b8 adjusted height of setup dialog 2014-11-19 17:10:44 +01:00
Daniel Winzen
1a1e012632 Revert "Add missing Q_OBJECT macros in header files"
This reverts commit 337003a3b0.
Seams to break Windows builds.
2014-11-18 20:20:10 +01:00
Daniel Winzen
337003a3b0 Add missing Q_OBJECT macros in header files
Fixes 20 warnings similar to the following ones when generating a translation file with e.g. "make de.ts":
/home/daniel/Lmms/src/tracks/AutomationTrack.cpp:40: Class 'AutomationTrack' lacks Q_OBJECT macro
/home/daniel/Lmms/src/core/FxMixer.cpp:41: Class 'FxRoute' lacks Q_OBJECT macro
/home/daniel/Lmms/src/core/FxMixer.cpp:554: Class 'FxMixer' lacks Q_OBJECT macro
/home/daniel/Lmms/src/gui/widgets/MeterDialog.cpp:52: Class 'MeterDialog' lacks Q_OBJECT macro
...
2014-11-18 19:38:26 +01:00
Vesa
d98c2392b2 Move the denormals protection to the run() function of the thread
The constructor was probably the wrong place to put it, run() is definitely executed in the new thread so that's where the setting should be applied I think?
2014-11-18 10:48:03 +02:00
Vesa
eb7343e25a Add denormal protection to Fifowriter thread 2014-11-18 09:19:56 +02:00
Vesa
78042ed4c5 More exp10 stuff 2014-11-17 18:55:09 +02:00
Vesa
e16b567e09 Fix drag-n-drop of logscale knobs 2014-11-17 16:15:41 +02:00
Lukas W
26415cd53e Fix segfault in FxMixerView, fix a memory leak in EffectSelectDialog
Segfault occured when moving a channel
2014-11-17 11:03:13 +01:00
Vesa V
208bfe356c Merge pull request #1312 from diizy/stable-1.1
Logscale: enabled toggling of knob scale in context menu
2014-11-16 22:20:34 +02:00
Vesa
0d129b0b93 Logscale: enabled toggling of knob scale in context menu 2014-11-16 22:19:16 +02:00
Vesa
4b4469d6c2 Add denormals stripping to the main thread as well as workerthreads
Conflicts:

	src/core/main.cpp
2014-11-16 19:15:34 +02:00
Vesa
baf7c74ad7 Strip denormals 2014-11-16 19:10:02 +02:00
Lukas W
d8662e76de Remove M_PI definition, use F_PI 2014-11-16 15:22:46 +01:00
Lukas W
0916bc073e Fix compile errors 2014-11-16 15:22:46 +01:00
Vesa V
f83b0957f4 Merge pull request #1305 from diizy/stable-1.1
Improvement of FxMixer multithreading
2014-11-16 15:08:10 +02:00
Vesa V
ea2e4e5b69 Merge pull request #1307 from diizy/model
Add a method to AutomatableModel that allows tracking changes without using signals/slots
2014-11-16 14:54:38 +02:00
Vesa
3e19bc8ddb Add a method to track value changes in AutomatableModel - this can be used by DSP code instead of signals/slots to improve performance 2014-11-16 14:14:35 +02:00
Vesa
8ef10f4f81 More updates to FxMixer - better handling of muted channels 2014-11-16 13:46:54 +02:00
Vesa
ca06a10a42 Fix segfault when enabling/disabling sends while playing 2014-11-15 21:11:40 +02:00
Vesa
c92774af27 Improvement of FxMixer multithreading
Use dynamic building of jobqueues with dependency counting:
- At the start, each channel that has no dependencies is added automatically to the queue
- Then, after each channel is processed, it increments the dep.counter of all its recipients
- When a channel's dep.counter hits the amount of its dependencies (senders), it gets automatically added to the queue
- The queue is finished when the master channel has been processed
- Muted channels are automatically processed at the start regardless dependencies, because they don't have to care about senders, being muted

Hopefully this will improve Fx Mixer performance.
2014-11-15 18:51:49 +02:00
Lukas W
9005dc39ca Caption menu style fix 2014-11-15 17:46:07 +01:00
Lukas W
70508b0c37 Don't display 'Help' action in context menus when there's no help text
Fixes #1290
2014-11-14 15:45:46 +01:00
Vesa V
df843e2b32 Merge pull request #1288 from tresf/stable-1.1
Set pitch range
2014-11-14 01:16:19 +02:00