Commit Graph

1030 Commits

Author SHA1 Message Date
Tres Finocchiaro
71f6b1b205 Drag-and-drop support for VST, SF2 2014-05-21 16:39:02 -04:00
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
1b0264f501 DummyEffect: removed inline specifiers, fixed header guard identifiers 2014-05-18 15:27:49 +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
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
cf7acc382d BandLimitedWave: export class in LMMS binary
Fixes Win32/Win64 build of Monstro plugin.
2014-05-12 21:43:44 +02: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
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
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
Vesa
e638bb8ae1 MemoryHelper: update coding style 2014-04-26 18:10:36 +03:00
Vesa
ff3e94bd75 Fix a typo in interpolation.h 2014-04-26 16:16:38 +03:00
Vesa
7d5250b93a FxMixer: turn off effects 2014-04-26 06:16:51 +03: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
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
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
Vesa
b150ea2a0d Add some fancy new interpolation algorithms 2014-04-13 10:34:38 +03:00
Vesa
43d503003e LmmsPalette: finally a working implementation 2014-04-11 11:07:49 +03:00
Vesa
ec69c48e5f LmmsPalette - continuing... still not working yet 2014-04-11 07:14:37 +03:00
Vesa
43cb962ae1 Initial implementation of LmmsPalette (doesn't work yet) 2014-04-10 10:51:06 +03:00
Tobias Doerffel
b32e602af5 Merge pull request #589 from diizy/master
AFP: add updated artwork, fix the bug where opening the plugin w/o sampl...
2014-04-09 23:53:22 +02:00
Vesa
2599370d53 AFP: add updated artwork, fix the bug where opening the plugin w/o samplebuffer glitches the wavegraph
Samplebuffer: use qualitysettings for interpolation (currently defaults to SINC_FASTEST on playback), also: in visualize, draw both channels instead of averaging them into one graph (otherwise, samplebuffers with counter-phase content show up as flatline)
2014-04-10 00:25:25 +03:00
Tobias Doerffel
d3aff6e1fb Merge pull request #583 from diizy/bandlimit
Monstro/Bandlimit updates
2014-04-09 22:02:07 +02:00
Johannes Lorenz
63f6f2eab6 Final patch for logscales and knob with def ctors. 2014-04-09 13:18:01 +02:00
Johannes Lorenz
d08857bba8 knob without def ctors. 2014-04-09 12:31:53 +02:00
Johannes Lorenz
2b8e5c3992 Logscales, merged. 2014-04-09 12:31:21 +02:00
Vesa
2bfd19cc44 Move waveform generation away from main 2014-04-09 13:30:17 +03:00
Vesa
d5fa2568ed Further improvements to bandlimited waves 2014-04-09 13:03:34 +03:00
Vesa
7b0d829cc4 More fixes 2014-04-08 23:07:16 +03:00
Vesa
7b6d237a89 Track: depointerize qproperties 2014-04-08 12:24:55 +03:00
Vesa
5397bbeaf4 Bandlimit changes/algorithm tweaking, add sinc function to lmms_math 2014-04-08 12:06:39 +03:00
Tobias Doerffel
7596a58b6d Merge pull request #578 from diizy/bandlimit
Bandlimited waveform generation
2014-04-08 09:02:22 +02:00
Vesa
13237f9c8e Monstro: use phase delta instead of frequency for deciding which wavetable to use 2014-04-08 09:48:43 +03:00
Oskar Wallgren
dbd865d879 Merge branch 'master' into arpDownUp 2014-04-08 01:38:32 +02:00
Vesa
e10bbeb84e Bandlimited wave generation implemented for LMMS, currently only utilized by Monstro 2014-04-07 22:55:44 +03:00
Tobias Doerffel
f21fbf1946 Merge pull request #569 from diizy/loops
AFP, Samplebuffer updates
2014-04-06 21:57:17 +02:00
Vesa
994dcd3964 TCOView: Make patternviews foreground elements stylable with qproperties 2014-04-06 11:38:12 +03:00