Commit Graph

1563 Commits

Author SHA1 Message Date
Tobias Doerffel
8c06cb60f4 InstrumentTrack: always process silence at least one time
As of commit 1266278229 silent buffers
from InstrumentPlayHandle-driven instruments are ignored. This is a good
thing but can beak PeakController instances attached to e.g. ZynAddSubFX.

Fixes playback of unfa-Spoken.mmpz.
2014-02-06 23:40:50 +01:00
Tobias Doerffel
1266278229 InstrumentTrack: skip processing for IPH-driven instruments when silent
InstrumentPlayHandle-driven instruments (i.e. instruments producing only
one sound stream for all notes) are running all the time even if no notes
are running. The plugin itself usually does not consume much CPU time
while silent but all effects afterwards inside LMMS unneccessarily
consume lots of CPU time for processing silent buffer.

Typical case: a song with lots of instruments like ZynAddSubFX.

With this change, all processing is skipped on silent buffers which
notably decreases CPU load for many projects. All effects in following
effect chains continue to run until they're silent as well.

Closes #267.
2014-02-06 22:59:14 +01:00
Tobias Doerffel
be5e17c29c MixHelpers: added isSilent()
A simple function for testing whether a given sample buffer is silent.
Maybe we have to adjust/lower the threshold.
2014-02-06 22:59:02 +01:00
Tobias Doerffel
f01c90b6a5 EffectChain: new argument hasInputNoise for processAudioBuffer()
Use the extra information to determine whether we need to process input
at all if plugin is not running anymore.

In FX mixer we now omit starting effects if no data has been mixed to
a certain FX channel. Instead let effects running until they finished.

First of multiple fixes for #267.
2014-02-06 22:20:23 +01:00
Tobias Doerffel
6c1835bdd1 FxMixer, Mixer, AudioPort: minor coding style fixes 2014-02-06 22:18:58 +01:00
Tobias Doerffel
eccfc0c688 SongEditor: remove unused messing with engine's pointer to SongEditor
Back in time we obviously didn't manage to get construction dependencies
sorted so we needed to mess with the pointer to the SongEditor instance in
the engine class.

Thanks to Alexandre Almeida for pointing out this issue.

Closes #261.
2014-02-06 20:51:16 +01:00
Tobias Doerffel
7cddb23fbf Merge pull request #271 from zonkmachine/chromatic-scale
Added scales (chromatic scale again)
2014-02-06 20:45:19 +01:00
Tobias Doerffel
92bfd71c63 ComboBox: more checks for valid model + coding style
Before accessing the model, we have to check whether it is valid at all
in order to avoid a crash.

Closes #273.
2014-02-06 20:42:29 +01:00
Alexandre Almeida
5550377fe2 Fix a segmentation fault
Fix the segmentation fault caused by clicking on the "Cancel" button of the export dialog, as in issue #249.
2014-02-05 23:26:32 -02:00
Wong Cho Ching
6fca8814cb Fixes crashes on ctrl+drag.~ 2014-02-05 13:05:59 +08:00
Tobias Doerffel
2f0cd8b7c4 InstrumentTrack: load pitch range model before pitch model
As the pitch range model defines the range of the pitch model we have
to load it first so the range of m_pitchModel gets adjusted accordingly.

Closes #272.
2014-02-04 23:45:23 +01:00
Oskar Wallgren
c7e7748bc3 Added scales 2014-02-04 20:12:46 +01:00
Tobias Doerffel
4a7a922e9a Merge pull request #244 from softrabbit/stable-0.4
Add Doxyfile and doc directory
2014-02-04 00:07:18 -08:00
Tobias Doerffel
2e7733eaa1 DataFile: renamed from old multimediaProject class + coding style fixes 2014-02-03 21:21:36 +01:00
Raine M. Ekman
a5c3febfb8 Merge https://github.com/LMMS/lmms into stable-0.4 2014-02-03 22:09:56 +02:00
Tobias Doerffel
7500c98f8d MidiPort: do not change key of MIDI note events
There's no need to transpose MIDI events inside a MidiPort instance. Any
correction to the outer world should (if at all) happen in the according
MIDI backends.

Closes #242.
2014-02-03 20:56:23 +01:00
Tobias Doerffel
8da3c78f62 Song: update VstSyncController in new playback control methods
As of commit c60e7ba8d1 the whole playback
control has been revised. As this was an old patch, it didn't take care
of the VST sync functionality. This is fixed now for the most part.

Closes #184.
2014-02-03 20:13:36 +01:00
Tobias Doerffel
e23d5838e7 Song: removed old action array
As of commit c60e7ba8d1 we no longer queue
playback actions and process them later, therefore remove old remains.
2014-02-03 20:11:18 +01:00
Tobias Doerffel
fd971ee3a2 VstSyncController: print a warning if VST sync support is not enabled
Users might wonder why VST sync does not work as they didn't notice the
option in the configuration dialog.
2014-02-03 20:05:51 +01:00
Tobias Doerffel
5a9e0bdcef Moved VST sync functionality into new VstSyncController class
First attempt to clean up the mess in the Song class by moving the VST sync
functionality into its own class and just calling a few functions from it.
2014-02-03 20:04:57 +01:00
Raine M. Ekman
faac9af1fe Merge https://github.com/LMMS/lmms into stable-0.4 2014-02-02 20:41:59 +02:00
Tobias Doerffel
101e41186e Merge pull request #236 from mikobuntu/stable-0.4
Fix compact track bug in BB_Editor fixes #73
2014-02-02 05:48:48 -08:00
Tobias Doerffel
539d0f4a9e Merge pull request #237 from wongcc966422/issue27
Automation Tweaks and Bugfixes
2014-02-02 05:41:45 -08:00
Wong Cho Ching
0f746d8163 Preserves automation scale when everything is disconnected 2014-02-02 20:25:24 +08:00
Wong Cho Ching
f7963d5b3b Rendering tweak and fixes #234 2014-02-02 19:40:00 +08:00
mikobuntu
65b1c99d13 Fix compact track bug in BB_Editor fixes #73 2014-02-02 11:39:10 +00:00
Wong Cho Ching
287276db6f Automation: No longer getting destroyed after exporting PLUS rendering bugfix 2014-02-02 18:29:16 +08:00
Wong Cho Ching
64195eb645 Fixes crash on loading instrument with peak controller 2014-02-02 10:28:24 +08:00
Tobias Doerffel
518bd90fd4 Merge pull request #225 from wongcc966422/issue220
Fixes crash when opening file with Peak Controller
2014-02-01 03:45:11 -08:00
Tobias Doerffel
71b9b585c7 Merge pull request #224 from wongcc966422/hideRange
Hide RANGE spinbox when the instrument is not bendable
2014-02-01 03:44:10 -08:00
Tobias Doerffel
353b6e27a2 Merge pull request #219 from diizy/stable-0.4
Sfxr logo, custom waveforms
2014-02-01 03:42:06 -08:00
Tobias Doerffel
bfdf8feaf5 Merge pull request #218 from wongcc966422/issue1
render circles on automation points; Increased INITIAL_WIDTH
2014-02-01 03:41:08 -08:00
Tobias Doerffel
571bdeb053 Timeline: additionally allow moving left loop point with middle mouse button
Commit 3a53473d10 aimed at allowing users
without a middle mouse button (like on touchpads) to move the left loop
point. However nothing stops us from keeping the old behaviour as well,
so here we go!
2014-02-01 12:39:03 +01:00
Wong Cho Ching
c2a753f4b8 Merge branch 'issue220' of https://github.com/wongcc966422/lmms into issue220 2014-02-01 18:10:42 +08:00
Wong Cho Ching
c4b6a41aea Further fixes backward compatibility issue 2014-02-01 18:09:46 +08:00
wongcc966422
9b2d620dc8 Replace spaces with tab 2014-02-01 14:50:10 +08:00
Wong Cho Ching
7d96a2d533 Fixes crash when opening file with Peak Controller 2014-02-01 14:46:15 +08:00
Wong Cho Ching
edbe8336cc Hide RANGE spinbox when the instrument is not bendable 2014-02-01 10:42:21 +08:00
Vesa
75c8e903da Fixed load/save of custom waveform settings on LFO controllers. 2014-02-01 00:14:34 +02:00
Vesa
cc810effda Fix cancel button behaviour on waveform open dialog 2014-02-01 00:01:42 +02:00
Vesa
37ad60a704 Set default directory to the waveform directory when opening an audio file for a user-defined waveform 2014-02-01 00:01:42 +02:00
Raine M. Ekman
67314f0622 Move version details into .h file and add them to main.cpp 2014-01-31 21:39:03 +02:00
Wong Cho Ching
b37ce31bc3 render circles on automation points; Inceased INITIAL_WIDTH 2014-01-31 23:18:14 +08:00
Tobias Doerffel
9fe1f32ec8 Merge pull request #216 from wongcc966422/issue204
Exporting: fixes LFO sync
2014-01-31 06:41:16 -08:00
Wong Cho Ching
8483acb705 Exporting: fixes LFO sync 2014-01-31 21:17:57 +08:00
Tobias Doerffel
403f8d0b91 Merge pull request #209 from wongcc966422/issue204
Makes LFO sync with the timeline of the song
2014-01-30 22:12:51 -08:00
Wong Cho Ching
37dd8fc5ac Makes LFO sync with the timeline of the song 2014-01-31 12:05:15 +08:00
Tobias Doerffel
673ddfe36d Merge pull request #205 from wongcc966422/issue204
[NOT ready]reset LFO controllers when playing is started
2014-01-30 15:39:39 -08:00
Tobias Doerffel
abc05d209e Merge pull request #203 from wongcc966422/issue1
Automation points are now draggable
2014-01-30 11:27:38 -08:00
Tobias Doerffel
9f6b894351 Merge pull request #200 from wongcc966422/issue28
Fixes removing controller in controller rack bug
2014-01-30 11:26:38 -08:00