Commit Graph

1691 Commits

Author SHA1 Message Date
Vesa
95bf833ace Updates, fixes etc 2014-03-24 21:43:27 +02:00
Tobias Doerffel
7b8eaa6835 Merge remote-tracking branch 'origin/stable-0.4-undo-redo'
Conflicts:
	include/AutomatableModel.h
	include/MidiPort.h
	include/TrackContainerView.h
	include/surround_area.h
	include/track.h
	src/core/AutomatableModel.cpp
	src/core/TrackContainer.cpp
	src/core/note.cpp
	src/core/track.cpp
	src/gui/PianoRoll.cpp
	src/gui/TrackContainerView.cpp
	src/gui/widgets/LcdSpinBox.cpp
2014-03-24 19:37:26 +01:00
Tobias Doerffel
d32377845b ComboBoxModel: coding style fixes 2014-03-24 19:21:18 +01:00
Tobias Doerffel
2ab5b1da0c AutomatableModel: always fit value from linked model
When using value from linked model, make sure to fit it into own range
as otherwise this can cause out-of-boundary accesses e.g. in ComboBoxModel.

Closes #505.
2014-03-24 19:21:12 +01:00
Vesa
d80a8436c0 Remove spaces 2014-03-24 19:49:33 +02:00
Vesa
11a76c45fc Compat code to make LMMS compile on Qt <4.8 2014-03-24 17:11:42 +02:00
Tobias Doerffel
2f4d9c6c66 InstrumentSoundShapingView: display info about single-streamed instruments
Until we have a solution for hiding the ENV/LFO tab, display a sensible
message at least.
2014-03-23 23:52:04 +01:00
Tobias Doerffel
752f48f51c Revert "Do not display ENV/LFO tab in plugin window if controls are disabled in it (SF2 Player and OpulenZ)"
This does not work well if you open an instrument window of a single
streamed instrument, close it afterwards and open an instrument window
of a regular instrument due to widget caching/reuse. We therefore have
to find a better solution which allows dynamically showing/hiding tabs
in the TabWidget class. Until then restore the previous behaviour.

This reverts commit ed29f2b6f6.
2014-03-23 23:44:30 +01:00
Vesa
33b9524346 Envelope: fix drawing of envelope graph, scale to fit view if graph gets too long
(also fix typo in last pianoview commit)
2014-03-22 19:09:42 +02:00
Vesa
f986f099da Piano widget: make keypresses (gui and keyboard) based on the MIDI base velocity spinner 2014-03-22 12:32:43 +02:00
Tobias Doerffel
6c920df328 Merge pull request #486 from midi-pascal/stable-0.4
Do not display ENV/LFO tab in plugin window if controls are disabled in ...
2014-03-22 08:39:19 +01:00
Tobias Doerffel
6a1a295cec More CLANG compiler warning fixes 2014-03-21 11:14:22 +01:00
Tobias Doerffel
6bb16951ad Main: fixed various CLANG compiler warnings 2014-03-21 11:13:30 +01:00
Tobias Doerffel
8e4417e5d9 Mixer: fixed various CLANG compiler warnings 2014-03-21 11:13:20 +01:00
Tobias Doerffel
d4bbaa58b4 SerializingObject: made saveSettings() and loadSettings() pure virtual
All classes inheriting from SerializingObject should also provide
according functionality, therefore ensure, they implement methods for
loading and saving settings.
2014-03-21 10:47:05 +01:00
Tobias Doerffel
729838fa08 ModelView, Model: coding style improvements 2014-03-21 10:46:42 +01:00
Tobias Doerffel
585f95741c AutomationPattern: define constants outside class declarations 2014-03-21 10:44:22 +01:00
Tobias Doerffel
6f5a47342b AutomatableModel: coding style improvements 2014-03-21 10:43:07 +01:00
Vesa
7a7c9abd9b GraphModel: fix/improve normalize() function - remove bias before maximizing, also add some new slots for future use (which I plan to use for something neat in the future ;) ) 2014-03-20 12:19:55 +02:00
pascal
ed29f2b6f6 Do not display ENV/LFO tab in plugin window if controls are disabled in it (SF2 Player and OpulenZ) 2014-03-18 21:09:32 -04:00
Tobias Doerffel
41c154dc95 Control play/pause buttons in slot of MainWindow via signal in Song class
The engine class as the component instance manager is the wrong place to
control the play/pause buttons. Instead emit a signal in the Song class
and update the buttons in a slot in MainWindow. This fixes problems with
GUI/pixmap operations happening outside the GUI thread when exporting a
project.

Closes #435.
2014-03-18 20:39:52 +01:00
Tobias Doerffel
b45c0c5f02 MainWindow: coding style improvements 2014-03-18 20:39:01 +01:00
Tobias Doerffel
a4b328e28f Merge pull request #480 from dnl-music/patch-1
Update PianoView.cpp
2014-03-18 20:15:10 +01:00
Tobias Doerffel
5e2d299360 MidiPort: introduced internal base velocity property
In order to keep compatibility with projects created with LMMS < 1.0.0
we maintain a property specifying the base velocity (i.e. the velocity
sent to MIDI-based instruments at volume=100%). For new projects this
always will be 64 while compat code enforces a value of 127 for old
projects.

We can also think about hiding the new groupbox in order to hide
complexity from the user.

Closes #430.
2014-03-17 22:30:52 +01:00
Tobias Doerffel
f32c89bd13 InstrumentMidiIOView: coding style improvements 2014-03-17 21:25:50 +01:00
Vesa
7dac1137bc Knob: add volumeRatio property to allow showing knobs with ratios other than 100 in dBV
Waveshaper, Dynamics processor: make input/output knobs respect the show in dBV setting
2014-03-15 10:45:55 +02:00
Vesa
cf341c7bdf Graph widget: fix off-by-one error in drawing code, inconsistency in smoothing algorithm 2014-03-14 22:52:19 +02:00
Vesa
cea7394e86 SampleBuffer: Remove mp3 from the list of supported files 2014-03-14 17:34:41 +02:00
Vesa
daa0476205 Improve pattern name text visibility 2014-03-14 13:21:59 +02:00
Vesa
ba7e5e5f5c Highlight the currently selected instrument/automation patterns in the song editor 2014-03-12 07:14:29 +02:00
dnl-music
6a6711b088 Update PianoView.cpp
Add new keys to control (Windows, Linux), replace Windows "/" key.
2014-03-12 09:58:40 +07:00
Tobias Doerffel
06289781e4 AutomationEditor: update pause icon manually
As we have a special semantic for automation pattern playback (i.e. we
don't playback the pattern itself but its container component like
Song Editor, Piano Roll etc.).

Closes #292.
2014-03-10 19:12:50 +01:00
Tobias Doerffel
ed6ccddc6c Song: do not stop playback twice
Otherwise we reset data which doesn't need to be reset when stopped
already.

Closes #255.
2014-03-10 18:50:33 +01:00
Tobias Doerffel
9e86990f41 Song: reset milli seconds counter when looping BB or pattern
Closes #252.
2014-03-10 18:45:19 +01:00
Vesa
86564e11fb Change icon of bb-editor window to one that fits better, also: remove add_controller.png which isn't used anywhere 2014-03-10 11:46:27 +02:00
Tobias Doerffel
0674e1434c SongEditor: renamed class and file name to match current coding style 2014-03-09 23:25:38 +01:00
Tobias Doerffel
24a9ef01f9 PianoRoll: renamed class and file name to match current coding style 2014-03-09 23:19:46 +01:00
Tobias Doerffel
66da544ceb PianoRoll: don't play test notes while recording
This is a partial revert of 2e799718d6.
As playing test notes generate MIDI events as well, they get recorded
like any other notes resulting in undesired behaviour.

Closes #368.
2014-03-09 22:42:48 +01:00
Tobias Doerffel
7c685bdd18 Merge pull request #421 from diizy/stable-0.4
More bug fixes: #419, #286
2014-03-08 19:42:32 +01:00
Tobias Doerffel
56ee27ed9b Midi: added MidiDefaultVelocity to be used for test notes etc. 2014-03-08 13:22:51 +01:00
Tobias Doerffel
b01f093e37 InstrumentTrack: hide sound shaping widgets for single-streamed instruments
We currently don't apply envelopes/LFOs and filters to single-streamed
instruments, therefore hide the GUI.
2014-03-08 13:17:55 +01:00
Tobias Doerffel
4803c3542d InstrumentSoundShaping: coding style improvements 2014-03-08 13:17:11 +01:00
Tobias Doerffel
3d0c5e9f48 InstrumentTrack: another explicit for single stream property 2014-03-08 13:15:27 +01:00
Tobias Doerffel
ba324f4aa8 InstrumentTrack: scale output volume by 2 for MIDI-based instruments
As of 0ca3901ab8 MIDI-based instruments are
played at velocity 63 for volume=100%.  In order to get the same output
volume, we need to scale it by 2.
2014-03-08 12:56:40 +01:00
Tobias Doerffel
ae105c22cc InstrumentTrack: explicitely test for single streamed instrument
...instead of implicitely assuming that the instrument is single-streamed
just because it did not pass a NotePlayHandle.
2014-03-08 12:53:57 +01:00
Tobias Doerffel
1c66bb9d66 Instrument: introduced flags to replace virtual property getters
There'll be more and more flags for instruments. Handling them using
virtual and overloaded getter functions doesn't scale well and adds
unneccessary overhead.
2014-03-08 12:47:42 +01:00
Vesa
ee043f9b68 Fix previous 2014-03-08 13:14:21 +02:00
Tobias Doerffel
0ca3901ab8 Normalize volume 100% to MIDI velocity 63
Furthermore moved midiVelocity() to Note and removed global volumeToMidi()
helper method.

Closes #280.
2014-03-08 12:13:42 +01:00
Vesa
0947bcf70f Song editor: fix jittery tracks bug (issue #286) 2014-03-08 11:43:05 +02:00
Vesa
31fa7ca061 AutomationPattern: fix a bug I accidentally introduced in length() 2014-03-07 11:54:17 +02:00