Commit Graph

3543 Commits

Author SHA1 Message Date
Vesa
06be5bba82 Make MIDI timing sample-accurate
- currently only affects Vestige
- no idea whether this can also be used for Zyn and OpulenZ, I'm not sure if Zyn has any kind of mechanism for communicating frame offset to the synth, as for OpulenZ, @softrabbit would know the answer better
- basically, I made it happen by simply adding an extra parameter in the processMidi{In|Out} functions, which is 0 by default, and made the necessary changes in instrumentTrack and nph to utilize it
- I based this against 1.1 because I didn't think it's a very big change, and I don't see much possibility for things going wrong here, since we're basically just using the existing functionality in Vestige (there already was a frame offset being communicated to the remote plugin, just that it was always set to 0). However, if @tobydox thinks this is better to bump up to 1.2, I can rebase it for master...
2014-06-04 04:23:16 +03:00
Tobias Doerffel
b28e995316 Merge pull request #797 from softrabbit/issue780
Issue780
2014-06-01 10:09:54 +02:00
Raine M. Ekman
f0556cbc3b InstrumentTrack: Fix issue #780 by showing the m_pitchRangeSpinBox too, in case it's been hidden. 2014-05-31 20:41:50 +03:00
Tobias Doerffel
a2e61a7a08 Merge pull request #789 from diizy/pianoroll
PianoRoll: CSS stylability, mousewheel improvements
2014-05-31 15:12:07 +02:00
Tobias Doerffel
146ae64342 Merge pull request #792 from diizy/autoeditor
AutomationEditor: improve zoom, CSS
2014-05-31 12:46:43 +02:00
Vesa
3a1e447d7b PianoRoll: wheelevent improvements, similar to AutomationEditor
- ctrl+alt+wheel changes q (as in auto)
- ctrl+shift+wheel changes note length
- changed note lock functionality slightly, it no longer changes itself to 1/16 because this would cause annoying infinite scrolling with the wheel, instead it just acts like 1/16 when notelength is last note
2014-05-31 07:06:58 +03:00
Vesa
7a19654ab9 AutomationEditor - fix previous 2014-05-31 04:05:58 +03:00
Vesa
310ac28009 AutomationEditor: CSS stylability 2014-05-31 03:32:55 +03:00
Vesa
5652043185 AutomationEditor: improve zoom functionality
- entire wheelevent code was written very... weirdly, I simplified it
- fix bug with x zoom with mousewheel, no more getting stuck between 25/50
- ctrl+shift+mousewheel now zooms y-axis
- ctrl+alt+mousewheel now changes quantization
2014-05-31 01:47:59 +03:00
Vesa
f43678cbae PianoRoll: CSS stylability
Most parts of piano roll are now stylable:
- background color
- note color
- bar color (for volume bars)
- grid color
2014-05-30 23:00:20 +03:00
Tobias Doerffel
a309ba077c Bumped version number to 1.0.91
We can now distinguish between the new stable 1.1 branch and the master branch.
2014-05-30 15:24:07 +02:00
Tobias Doerffel
ef0ccb4094 Merge pull request #778 from diizy/pianoroll
PianoRoll: Note Quick Resize
2014-05-30 15:15:28 +02:00
Tobias Doerffel
b170ab18f6 Merge pull request #787 from diizy/master
FxMixerView: fix crash when loading project while selected channel != 0
2014-05-30 15:11:29 +02:00
Vesa
51194453f1 FxMixerView: fix crash when loading project while selected channel != 0
Fixes #782
2014-05-30 08:19:54 +03:00
Vesa V
6dfd6de8d2 Merge pull request #785 from diizy/nes
Nes updates
2014-05-29 22:59:37 +03:00
Vesa
8bb5733ee5 Nes: Fix previous - forgot to add new models to load/save funcs 2014-05-29 22:57:14 +03:00
Vesa
50c5b0db03 Nes: added pitch sweep for noise channel, freq.quantize mode (constrain frequencies to preset values when using note frequency)
Also added a handful of neat presets that mimick Nes sound effects
2014-05-29 22:48:13 +03:00
Vesa V
fe88806bd5 Merge pull request #784 from diizy/nes
Nes: implement vibrato, also: make main pitch update at 60hz frequency r...
2014-05-29 19:36:48 +03:00
Vesa
19d105dc86 Nes: implement vibrato, also: make main pitch update at 60hz frequency regardless of period size or samplerate (guarantees consistency in sound for combined pitch sweep + pitch automation) 2014-05-29 19:32:22 +03:00
Vesa
adea08d5b9 PianoRoll: Note Quick Resize
Basically, this works as such:
- if you click shift *after* starting a note move OR after creating a new note, the note move action is switched into resize mode, so you can quickly resize the note you just created, or the note you just moved. This saves time and improves workflow - at least based on my own experience: I've always wished I could do this, this is a huge time saving when you want to quickly jot down notes of differing lengths.
- if shift is already pressed when you click, the above will not happen, because that would mess with the note copy function. Copying notes with shift-dragging works the same as before.
- note test playback is halted when you click shift while moving. This is purely because it was causing some crackling noise, probably because of the changing length of a note that is currently playing. Maybe that can be fixed later, although it's arguably better not to hear the note while resizing - it's consistent with the other resize.
- works on group of notes as well, if you start moving a group of notes and then click shift, it will go into resize. Exception is notes copied with shift-drag... for obvious reasons.
- that should be all. Testing appreciated.
2014-05-28 03:38:59 +03:00
Vesa V
957aed4b80 Merge pull request #773 from diizy/master
NES: fix dc offset and distortion
2014-05-26 18:04:13 +03:00
Vesa
6e516a358c NES: fix dc offset and distortion 2014-05-26 18:02:55 +03:00
Tobias Doerffel
1567bd8d09 Merge pull request #752 from tresf/master
Drag-and-drop support for VST, SF2
2014-05-26 10:28:44 +02:00
Tobias Doerffel
c3af25e54a Merge pull request #758 from grejppi/master-samplebuffer
SampleBuffer: fix amplification
2014-05-26 10:26:59 +02:00
Tobias Doerffel
54531f5144 Merge pull request #761 from zonkmachine/random-wave-2
Random wave for instrument plugin LFO
2014-05-26 10:26:09 +02:00
Tobias Doerffel
3d61b6df9e Merge pull request #768 from diizy/master
FxMixerView: prevent mixer from being loaded with improper send buttons ...
2014-05-26 10:25:18 +02:00
Tobias Doerffel
d857f0e272 Merge pull request #771 from diizy/nes
NES instrument
2014-05-26 10:22:40 +02:00
Vesa
750be17b56 Nes: fix sweep 2014-05-26 05:46:53 +03:00
Vesa
8b51e29467 New NES instrument 2014-05-26 03:25:15 +03:00
Vesa
592b4aeb1a New NES instrument 2014-05-26 03:24:36 +03:00
Vesa
eaf0f15d3f FxMixerView: prevent mixer from being loaded with improper send buttons which cause crashes when clicked, fixes #766 2014-05-25 13:55:05 +03:00
Oskar Wallgren
2e78e65d59 Code simplifed 2014-05-24 20:02:18 +02:00
Hannu Haahti
d715c18b65 SampleBuffer: amplify in post 2014-05-23 21:50:47 +03:00
Oskar Wallgren
768f0e54b0 Random graph approximation and cleanup 2014-05-23 03:46:40 +02:00
Hannu Haahti
904370ec34 SampleBuffer: fix amplification 2014-05-22 23:48:05 +03:00
Oskar Wallgren
3d61768538 Gui button fix, test backward compatibility 2014-05-22 19:25:04 +02:00
Tobias Doerffel
00e7fe236c ZynAddSubFX: imported current head
Imported current head of LMMS-specific ZynAddSubFX source code.

HEAD: c38c705ea40914f6bd63f799ab8dad91411a93c0
2014-05-22 11:33:39 +02:00
Oskar Wallgren
85c02cddfe Random wave first commit, pixmap button defect 2014-05-22 07:17:55 +02:00
Tres Finocchiaro
71f6b1b205 Drag-and-drop support for VST, SF2 2014-05-21 16:39:02 -04:00
Vesa V
3e02a15908 Merge pull request #748 from diizy/master
Fix globalautomationvalueat and coding style
2014-05-21 17:45:02 +03:00
Vesa
9742becb81 Fix globalautomationvalueat and coding style 2014-05-21 17:37:30 +03:00
Tobias Doerffel
bfe2f0cf11 InstrumentFunctions: fix base note playback in chords
As of 6650dd356d base notes are not played
anymore when chords are enabled. Therefore create a separate NotePlayHandle
for the base note like we do for all other notes in the chord.
2014-05-20 23:13:13 +02:00
Tobias Doerffel
1decf5d6ea Merge pull request #739 from diizy/master
Removal of the "sample-exact controllers" and "anti-aliasing oscillators...
2014-05-18 22:27:37 +02: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
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
Tobias Doerffel
28fa95ae56 Merge pull request #727 from diizy/kicker
Kicker: new UI / graphics, also some additions:
2014-05-18 15:11:06 +02:00
Tobias Doerffel
aa8eea2fb1 Merge pull request #736 from diizy/powerchord
InstrumentFunctions: Add power chord
2014-05-18 15:09:47 +02:00