Commit Graph

859 Commits

Author SHA1 Message Date
Tobias Doerffel
9852cb9a57 NotePlayHandle, InstrumentTrack: removed obsolete singerbot support
The singerbot plugin doesn't exist anymore and thus any support in the
code base just adds complexity and confusion, therefore remove it.
2014-01-29 23:56:07 +01:00
Tobias Doerffel
ca0e413fd3 Renamed PlayHandle classes and some functions with bool return values
Next big coding style update - this time all PlayHandle classes are
affected. Functions like done() and released() were renamed to
isFinished() and isReleased().
2014-01-29 23:54:47 +01:00
Wong Cho Ching
6cf825ca99 randomize PeakControllerEffect::m_effectId 2014-01-29 19:31:10 +08:00
Wong Cho Ching
997c2114f4 Merge remote-tracking branch 'origin/stable-0.4' into ghostPeakController 2014-01-29 19:02:49 +08:00
Wong Cho Ching
8d4b467ddc Fixed duplicate controllers issue 2014-01-29 18:44:52 +08:00
Tobias Doerffel
e68f88b698 Export PresetPreviewPlayHandle class
The PresetPreviewPlayHandle is referenced by the PeakController plugin
now and therefore needs to be exported.
2014-01-26 23:44:36 +01:00
Tobias Doerffel
4b340f7d5f InstrumentTrack: manage MIDI note recording in NotePlayHandle
We must not record notes when receiving external MidiNoteOff events
as e.g. the sustain pedal still might be pressed. State tracking for
features like these is done inside NotePlayHandle so move the recording-
related signal emission from InstrumentTrack to NotePlayHandle.

Closes #168.
2014-01-26 16:48:35 +01:00
Tobias Doerffel
725ff59f0e NotePlayHandle: added property to track origin
Using the origin property we can track where a NotePlayHandle instance
originates from (Pattern, MIDI, ...) and build new functions around this.
2014-01-26 16:44:54 +01:00
Tobias Doerffel
c77531fef2 Midi: added constants for Register Parameter Numbers (RPN) support 2014-01-26 14:03:43 +01:00
Tobias Doerffel
99ea20463e InstrumentTrack: fixed midiPitch() and added midiPitchRange() 2014-01-26 14:03:25 +01:00
Tobias Doerffel
a3c7f983a3 New header file Pitch.h for pitch-related data types and helpers 2014-01-26 14:02:51 +01:00
Tobias Doerffel
bd6fb03d44 Midi: added constants for pitch bend 2014-01-26 14:02:05 +01:00
Tobias Doerffel
5d1335f390 RemoteVstPlugin: fix build failure due to out-of-bounds-array-access-warning
Newer versions of GCC seem to assume an array size of 0 for arrays whose
size is not specified explicitely. This causes a warning about an
out-of-bounds array access.
2014-01-26 10:04:03 +01:00
Tobias Doerffel
80a58df124 MidiPort: coding style improvements 2014-01-26 10:01:54 +01:00
Tobias Doerffel
0063b891a8 FileDialog: add EXPORT macro
The FileDialog class is used by plugins and therefore needs to be exported
for platforms like Win32.
2014-01-26 01:48:15 +01:00
Tobias Doerffel
c144a2baa2 Instrument: return true in default implementation of handleMidiEvent()
Supress warnings about unhandled MIDI events e.g. on PianoView focus out
by returning true in Instrument::handleMidiEvent().
2014-01-26 01:10:18 +01:00
Tobias Doerffel
5808c8b786 NotePlayHandle: fixed minor auto replace typo 2014-01-26 00:59:12 +01:00
Tobias Doerffel
1fddc81c04 InstrumentTrack: removed option for disabling activity indicators
Probably never used by anyone and just makes code unneccessarily complex.
2014-01-26 00:25:32 +01:00
Tobias Doerffel
7d395c00fa InstrumentTrack: removed option for disabling PianoView visual feedback
Probably never used by anyone and just makes code unneccessarily complex.
2014-01-26 00:19:16 +01:00
Tobias Doerffel
3a827f061f Reworked MIDI event handling in InstrumentTrack and renamed MIDI classes
The MIDI event handling in InstrumentTrack was complex and buggy. It has
been simplified now such that processInEvent() tries to handle note on,
note off and key pressure events. The actions taken should result in
equivalent calls to processOutEvent() by NotePlayHandle instances. The
processOutEvent() function sends according MIDI events to the attached
instruments. All unhandled MIDI events are directly forwarded to the
instrument in processInEvent().

It's possible that some corner-cases are not handled yet with the new code
and we have regressions now.

Furthermore renamed midiTime/midiEvent to MidiTime/MidiEvent to match
coding style.

Closes #72.
2014-01-26 00:08:12 +01:00
Tobias Doerffel
8b4e2fc216 Merge pull request #145 from wongcc966422/ghostPeakController
Fixes Ghost Peak Controller Bug
2014-01-25 11:13:13 -08:00
Tobias Doerffel
ec45c381c3 Renamed instrument function classes and instances
Arpeggiator got InstrumentFunctionArpeggio and ChordCreator got
InstrumentFunctionNoteStacking. All related views and instances have
been renamed for better consistency.
2014-01-25 01:27:28 +01:00
Tobias Doerffel
c6b7ccd9f7 InstrumentFunctionViews: manage widgets using layouts 2014-01-25 01:10:47 +01:00
Tobias Doerffel
730ba403cd TempoSyncKnob, Knob: allow construction without parent 2014-01-25 01:10:25 +01:00
Tobias Doerffel
ddf63cb924 ComboBox: added sizeHint() + coding style 2014-01-25 01:10:09 +01:00
Tobias Doerffel
7b4aaa6dfa Merge pull request #98 from Lukas-W/stable-0.4-iss90
Update file open/save dialogs
2014-01-24 14:56:23 -08:00
Tobias Doerffel
84b3c5b8df Merge pull request #127 from wongcc966422/LFOBitinvaderVibedCustomWaveforms
Make LFO controller, Bit Invader and Vibed accept custom waveforms
2014-01-24 14:56:04 -08:00
Lukas W
ac54fcdac2 Fix some warnings 2014-01-24 22:04:37 +01:00
Wong Cho Ching
b7e6200433 Fixes Ghost Peak Controller Bug https://github.com/LMMS/lmms/issues/115 2014-01-25 01:56:44 +08:00
Wong Cho Ching
c45aafc748 Make LFO controller accept custom waveforms 2014-01-24 22:55:32 +08:00
Lukas W
84a6d0bf02 Add "Save as new version" action to project menu
Use Shortcut Ctrl+Alt+S. Part of issue #86
2014-01-24 15:45:13 +01:00
Lukas W
5c186eba0e Add new class VersionedSaveDialog
A file save dialog (inherits FileDialog) that provides buttons to
increment or decrement a version which is appended to the file name.
(e.g. "MyProject-01.mmpz")
2014-01-24 15:37:41 +01:00
Lukas W
0bbfd907ae MainWindow: Moved FileDialog to own subclass 2014-01-24 15:37:26 +01:00
Tobias Doerffel
f2bfa3b4d2 Knob: draw arc around knob
Initial work on improved knob usability by drawing an arc around knob
indicating current state as well.
2014-01-23 23:35:44 +01:00
Tobias Doerffel
5540a356f7 AutomatableModel: added centerValue property
The optional centerValue property can be used by views to display the
center somehow. It defaults to minimum value.
2014-01-23 23:35:26 +01:00
Tobias Doerffel
031b93d830 Merge pull request #102 from LMMS/warnings
fix all warnings and add -Werror
2014-01-23 00:36:34 -08:00
Andrew Kelley
52d4f0fd3f fix all warnings and add -Werror 2014-01-22 22:09:36 -05:00
groboclown
b7b361414a Add "stutter" capability to the audio file processor. 2014-01-22 20:05:10 -06:00
Tobias Doerffel
aaad405f99 UI: increased font sizes
As texts were not readable on high resolution screens the font size for
many widgets has been changed.

Closes #82.
2014-01-22 22:55:20 +01:00
Tobias Doerffel
27fab982ec Merge pull request #104 from diizy/stable-0.4
Lots of UI stuff again
2014-01-22 13:09:20 -08:00
Tobias Doerffel
2dc02001b7 Instrument: also render sound for MIDI-based instruments when muted
In order to provide smooth muting functionality (i.e. immediate proper
sound when unmuting) always render audio buffers for MIDI-based
instruments. This is more important than potentially reduced CPU usage
while muted.

Closes #69.
2014-01-22 21:55:33 +01:00
Vesa
322e44f907 More new icons, triple osc artwork, scrollbars, etc. 2014-01-22 22:36:55 +02:00
Lukas W
f073c6d11b Added two standard paths to file open/save dialog
In particular Desktop and Downloads have been added.
Also introduced a new function to create a file dialog
in order to prevent code duplication.
2014-01-22 17:52:02 +01:00
Tobias Doerffel
03ab3a3b7d Merge pull request #77 from LMMS/smooth-knob
UI: smoother knobs
2014-01-21 15:19:40 -08:00
Andrew Kelley
15e85494bd UI: smoother knobs
This updates knobs to feel smoother and allow the user to have finer
control over the value of the knob by multiplying the mouse drag delta
by a smoothness factor.

Also since it is significantly easier to point the knob where you want
it, I removed the magnet effect. This can easily be put back in; try it
out and see what you think.
2014-01-20 18:04:50 -05:00
Tobias Doerffel
2bc8d12826 NotePlayHandle: only use detuning automation if it exists at all 2014-01-20 23:37:20 +01:00
Tobias Doerffel
80b8e91fd1 InlineAutomation: improved hasAutomation()
Pprevent saving inline automation if there's just one value which equals
value of model which is going to be saved anyways.
2014-01-20 23:34:46 +01:00
Tobias Doerffel
1a99ed8e2f AutomatableModel: added isAtInitValue() 2014-01-20 23:05:45 +01:00
Tobias Doerffel
f0d6d44545 AutomatableModel: renamed to controllerConnection() + coding style fixes
Renamed getControllerConnection() to controllerConnection().
2014-01-20 22:11:58 +01:00
Tobias Doerffel
f8a1ffccb0 EffectRackView: added layouts for widget management
Also tweaked overall appearance a bit so that we have less nested frames.
2014-01-20 00:09:58 +01:00