Commit Graph

1816 Commits

Author SHA1 Message Date
Vesa
97ff5e99e0 Removal of the "sample-exact controllers" and "anti-aliasing oscillators" qualitysettings. 2014-05-18 21:36:49 +03:00
Tobias Doerffel
465aa1afbc EffectChain: remember original effect plugin data when loading dummy plugin
We don't want to loose the settings of an effect plugin even if it's not
available and thus can't be instantiated. Therefore remember original
settings data and save them back properly.

Partly closes #733.
2014-05-18 15:53:18 +02:00
Tobias Doerffel
a71749af08 Merge pull request #720 from diizy/master
Initial implementation for two additional methods in AutomatableModel, A...
2014-05-18 15:15:49 +02:00
Tobias Doerffel
6b6bfa2666 Merge pull request #734 from diizy/bandlimit
Move the initialization of BandLimitedWaves into engine.cpp
2014-05-18 15:11:51 +02:00
Vesa
c854f1d0ec InstrumentFunctions: Add power chord
Aka. 5-chord, simple 5th interval chord. A very simple addition and something I've always wondered why it's missing from the very extensive huge list of chords and scales.
2014-05-18 13:14:52 +03:00
Vesa
bf54852062 Move the initialization of BandLimitedWaves into engine.cpp
Since we now provide the wavetables as pre-generated files, there's no delay caused by their initialization
so we can move it to the startup of the software. I thought engine.cpp is the best place for this, it makes
conceptually more sense than main.cpp IMO.
This way each instrument that wants to use them in the future won't have to call the initialization function
separately, making things a bit easier.
2014-05-17 23:32:34 +03:00
Vesa
aefc9832f8 Initial implementation for two additional methods in AutomatableModel, AutomationPattern:
These methods are used to fetch the automated value of a model at a given MidiTime
These are still untested but that shouldn't be a problem since they aren't actually used by anything yet... but I'll be doing some testing and bugfixing (if needed) for them later.
These will be an important step in making sampletracks eventually be reliably playable from any position, and more generically, being able to reliably convert MidiTime to real time. Of course they can be useful for other things too (not sure what though, yet).
2014-05-15 03:02:42 +03:00
Tobias Doerffel
28cf4a5f8d Merge remote-tracking branch 'origin/stable-1.0'
Conflicts:
	CMakeLists.txt
	data/CMakeLists.txt
	include/SampleBuffer.h
	plugins/CMakeLists.txt
	plugins/zynaddsubfx/zynaddsubfx/src/Params/PADnoteParameters.cpp
	src/core/SampleBuffer.cpp
2014-05-12 21:57:10 +02:00
Tobias Doerffel
b9d51f0a40 Merge pull request #685 from tresf/stable-1.0
SWH Clang Fixes, Apple Installer Fixes
2014-05-06 09:39:22 +02:00
Vesa
dbe69c74ec Automation recording: remove unnecessary hasAutomation() - the pattern doesn't need to already have automation in
order to record more...
2014-05-05 00:57:32 +03:00
Vesa
6b7a3c0041 Automation recording: add option to trackops to switch on/off recording in all TCOs on the track
I still had time to implement this convenient little thing, so here you go...
The same code can be reused in the future for sampletracks as well.
2014-05-05 00:37:39 +03:00
Vesa
62068684c2 Fix to previous - use value<float>() instead of making an unnecessary new function... also accidentally didn't upload the new image last time 2014-05-04 22:54:06 +03:00
Vesa
4564ed14cd Automation Recording 2014-05-04 21:59:39 +03:00
Vesa V
1371b5b0fd Merge pull request #679 from diizy/master
PianoRoll: allow shift-right-click in addition to middle-click in vol/pa...
2014-05-03 23:53:50 +03:00
Vesa
d66d5870fd PianoRoll: allow shift-right-click in addition to middle-click in vol/pan bars 2014-05-03 23:52:24 +03:00
Oskar Wallgren
348315845a Add new toolbutton, whatsthis, to MainWindow 2014-05-03 20:32:58 +02:00
Vesa
b18d80e0b5 Pianoroll vol/pan UI - further improvements of earlier improvements 2014-05-03 00:12:18 +03:00
Vesa
23f1634f96 PianoRoll: improvements for note/panning widget 2014-05-01 23:15:28 +03:00
Vesa
ed19009d29 FXLine: add context menu with options to remove, move & rename FX channels
- Uses existing functionality in FxMixer & FxMixerView to manipulate channels
- Instruments sending to the manipulated channels get automatically updated
- In the future I hope to implement a drag/drop functionality instead of the clunky context menu but this is a good first step until then
- Also added in a little QWhatsThis help message for the FX line, also accessible from context menu

That lmms_math thing got mixed in accidentally, but it's also a good change: always include math.h in lmms_math - that way, other parts of the software can just #include lmms_math, and won't have to #include both math.h and lmms_math, also the yet unused sinc function in it seems to need it so this prevents problems down the line
2014-05-01 18:10:05 +03:00
Tres Finocchiaro
6a0952dc34 Add LADSPA default path for Apple 2014-04-30 10:49:07 -07:00
Tobias Doerffel
d58a4d8804 SampleBuffer: more sanity checks in getSampleFragment()
Despite of the previously introduced sanitizing it still sometimes happens
that an end frame variable is not greater than the corresponding start
frame variable. Make sure we don't crash by adding more sanity checks in
getSampleFragment().

Closes #629.
2014-04-30 11:34:34 +02:00
Tobias Doerffel
09fb597af4 SampleBuffer: always sanitize start and end frame settings
An end frame variable always has to be greater than a start frame in
order to prevent crashes due to negative frame counts being calculated
in getSampleFragment() otherwise.

Closes #629.
2014-04-30 11:33:18 +02:00
Tobias Doerffel
e9073c88bc PianoRoll: reset last note volume/panning when clearing project
In order to get a uniform behaviour when starting with a new project or
opening another project, reset volume and panning of last edited note so
new placed notes have default volume and panning.

Closes #644.
2014-04-30 10:48:42 +02:00
Hannu Haahti
436b3a9e63 InstrumentTrack: fix FX channel range
Because it is set to INT_MAX by default and never corrected for
cloned instruments, it could go over the maximum and cause a
segmentation fault.
2014-04-29 15:32:41 +03:00
Tobias Doerffel
f02570b261 Merge pull request #654 from grejppi/master-songeditor
SongEditor: change middle click to shift+right click, fix #621
2014-04-28 21:28:21 +02:00
Hannu Haahti
885b52cfa8 keep deletion with middle click 2014-04-28 01:07:36 +03:00
Hannu Haahti
cdcba9f685 SongEditor: change middle click to shift+right click, fix #621 2014-04-28 00:38:00 +03:00
Vesa
e638bb8ae1 MemoryHelper: update coding style 2014-04-26 18:10:36 +03:00
Vesa
0f37bd13ee FxMixer - Further optimization: skip copying buffers if we know the sender has no meaningful input to copy 2014-04-26 07:30:23 +03:00
Vesa
7d5250b93a FxMixer: turn off effects 2014-04-26 06:16:51 +03:00
Tobias Doerffel
2505c770bb AutomationEditor: removed useless assertion
As suggested by wongcc966422 and others, the assertion at this place
is superfluous and just causes unneccessary crashes.

Closes #540.
2014-04-25 23:43:05 +02:00
Vesa
9b9e175925 BandLimitedWave: provide wavetables as pre-generated "bin" files, these will be installed under datadir/wavetables
The runtime-generation is still there as a fallback, and the file generation code is left in as commented-out, because
it might be needed in the future
2014-04-25 19:17:41 +03:00
Tobias Doerffel
cf35a58629 Merge pull request #638 from tresf/stable-1.0
STK Mallet support (Apple)
2014-04-24 09:11:45 +02:00
Tres Finocchiaro
ec708aa967 Update config_mgr.cpp 2014-04-23 20:31:02 -07:00
Tres Finocchiaro
85fbffb947 Fix relative path for stk rawwaves on OSX 2014-04-23 20:28:37 -07:00
Vesa
4dece979c6 Samplebuffer/AFP: coding style, remove redundant inlines 2014-04-23 19:15:59 +03:00
Tobias Doerffel
0e6f6eef12 Merge pull request #633 from diizy/master
AFP: Add interpolation selector, fix segfault-causing bug with reverse m...
2014-04-23 11:36:31 +02:00
Vesa
fa67d0b436 AFP: Add interpolation selector, fix segfault-causing bug with reverse mode 2014-04-23 12:18:35 +03:00
Tobias Doerffel
42b7b09973 Merge pull request #617 from psyomn/local-master
Move align-mem functions to Class
2014-04-22 19:20:44 +02:00
Hannu Haahti
ad3884c8f3 Effect: change minimum gate to FLT_MIN
This helps reverbs (for example) to not get cut too soon (#424)

(cherry picked from commit f8773b8978)
2014-04-22 11:08:40 +02:00
Hannu Haahti
f8773b8978 Effect: change minimum gate to FLT_MIN
This helps reverbs (for example) to not get cut too soon (#424)
2014-04-21 15:40:26 +03:00
psyomn
bb7209b894 mem-helper.cpp: add license information 2014-04-17 02:25:07 -04:00
psyomn
32e6e9edce mem-helper: move align-mem functionality to class
There was some memory alignment logic inside the Mixer cpp file. To break down
the code and separate things into smaller modules, the aligned memory stuff
was crammed into a new class called MemoryHelper.

The MemoryHelper can be reused for any other aligned memory that may be needed
by another component.
2014-04-17 02:19:53 -04:00
Hannu Haahti
33aafbf3aa backwards compatibility fix for #579 2014-04-17 03:18:42 +03:00
Johannes Lorenz
51ed1105df Default ctors for LED checkbox and LCD spinbox. Fixes for knob. 2014-04-15 13:43:23 +02:00
Vesa
49d05f466d Watsyn: use fast sinc instead of medium quality (not much diff in this case), increase oversampling to 32 because why not
Graph: optimize graph widget codepaths so that we don't send redundant samplesChanged signals, which in watsyn cause recalculation of the wavetable
2014-04-14 14:15:08 +03:00
Vesa
26553cab17 Updates to bandlimitedwave code (using new interpolation) and Monstro 2014-04-13 12:48:38 +03:00
Tobias Doerffel
1f661be72c Merge remote-tracking branch 'origin/stable-1.0'
Conflicts:
	plugins/CMakeLists.txt
	plugins/zynaddsubfx/src/Effects/Alienwah.cpp
	src/core/track.cpp
2014-04-12 11:08:27 +02:00
Vesa
4b9f8c070f Forgot some cleanup 2014-04-11 11:20:04 +03:00
Vesa
43d503003e LmmsPalette: finally a working implementation 2014-04-11 11:07:49 +03:00