Commit Graph

821 Commits

Author SHA1 Message Date
Andrew Kelley
52d4f0fd3f fix all warnings and add -Werror 2014-01-22 22:09:36 -05: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
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
Tobias Doerffel
a85ec65c19 LcdSpinBox: added displayOffset property
The new displayOffset property is an offset which is always added to the
value of model so we can display values in a user-friendly way if they
internally start at 0.
2014-01-19 23:35:18 +01:00
Gurjot Singh
c1d5730c30 save solo states for tracks 2014-01-18 22:02:26 +05:30
Tobias Doerffel
3841e05427 InstrumentTrack: added pitch range spinbox 2014-01-18 13:40:40 +01:00
Tobias Doerffel
1f52feae8a InstrumentTrackView: manage general settings widget using layouts 2014-01-18 13:38:35 +01:00
tobydox
f5f2b97eeb Merge pull request #56 from grejppi/stable-0.4-bb_usability
B&B editor: adding and removing steps
2014-01-18 02:55:10 -08:00
Tobias Doerffel
9748897a43 Fix build when building without SDL
Commit f2590c24df was incomplete and thus
LMMS failed to build when building without SDL support.
2014-01-18 11:39:58 +01:00
Hannu Haahti
7e6642db4e add new steps to all tracks at once 2014-01-18 09:59:44 +02:00
Hannu Haahti
19dc1aa913 b&b editor: always add and remove so many steps as there are in one bar 2014-01-18 07:52:10 +02:00
Tobias Doerffel
f2590c24df Replaced [S/U]int[8/16/32] with types from stdint.h or plain integers 2014-01-18 02:56:38 +01:00
Tobias Doerffel
dc1f9c6050 Merge branch 'stable-0.4' of github.com:LMMS/lmms into stable-0.4 2014-01-17 19:34:54 +01:00
Hannu Haahti
a183fb2504 pitch automation in piano roll doesn't require first point to be 0 2014-01-17 09:49:35 +02:00
Tobias Doerffel
bbe686e290 LmmsStyle: adopted new coding style and renamed class 2014-01-16 23:45:54 +01:00
Tobias Doerffel
dffaa6abe0 LmmsStyle: initial port of scrollbar drawing code from CusisStyle
Colors still need to be made configurable via CSS and tuned for the
default theme.
2014-01-16 23:40:57 +01:00
Raine M. Ekman
664f109cb5 Export dialog: Make cancelling an export work immediately 2014-01-16 17:33:07 +02:00
Hannu Haahti
9fc64418bd config option to enable waveform display by default 2014-01-16 12:01:35 +02:00
Tobias Doerffel
b4030478c3 AutomatableModelView: adopted new coding style 2014-01-16 00:01:47 +01:00
Tobias Doerffel
17c1ede50c AutomatableModelView/ContextMenu: option for unlinking all controls
Integrated patch by Rodrigo Rodrigues da Silva which adds an option
to all AutomatableModelView's context menu allowing to unlink all
linked controls.
2014-01-15 23:50:13 +01:00
Tobias Doerffel
8c8763721c Piano: added optional velocity argument to handleKeyPress() 2014-01-14 23:34:03 +01:00
Tobias Doerffel
7dfaf2d44b Added volumeToMidi() helper function 2014-01-14 23:33:49 +01:00
Tobias Doerffel
c40b8350ef Piano: refactored class to be usable without friend classes 2014-01-14 23:12:43 +01:00
tobydox
340789c191 Merge pull request #17 from bhattigurjot/stable-0.4
PianoRoll: added support for pressed keys
2014-01-14 13:52:46 -08:00
Tobias Doerffel
9a7ad0264f SampleBuffer, SamplePlayHandle, SampleRecordHandle, SampleTrack: new coding style
Renamed file and class names.
2014-01-14 18:01:14 +01:00
Tobias Doerffel
4e5507a30a TrackContainer, TrackContainerView: adopted coding style
Renamed file and class names.
2014-01-14 17:39:02 +01:00
Gurjot Singh
61ac073cc2 Merge branch 'stable-0.4' of https://github.com/bhattigurjot/lmms into stable-0.4 2014-01-14 22:02:50 +05:30
Gurjot Singh
d4a2e33bf5 adds piano_roll key presses 2014-01-14 21:58:43 +05:30
Vesa
79119149ef Fix import of 32-bit floating point samples 2014-01-14 03:32:33 +02:00
Tobias Doerffel
e8190dc01e Merge remote-tracking branch 'ranft/notelabels-2' into stable-0.4 2014-01-09 23:23:34 +01:00
Tobias Doerffel
0ff1f91c1b Mixer: renamed class and file name
The mixer class is now named "Mixer" and accessible via engine::mixer().
2014-01-08 22:35:14 +01:00
Tobias Doerffel
4a99b953b5 MixHelpers: helper functions for mixing buffers
Introduced central helper functions for mixing buffers in order to
reduce local loops all around LMMS.
2014-01-08 21:58:03 +01:00
Joel Muzzerall
6249b23f1f AutomationEditor: add option for smooth lines and curves
Besides discrete automation it's now possible to setup interpolation
modes such as linear and cubic-hermite.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
2014-01-08 00:08:21 +01:00
Tobias Doerffel
ddad2da162 Merge remote-tracking branch 'origin/next' into stable-0.4 2014-01-07 23:24:26 +01:00
Tobias Doerffel
c0c10cf9d8 Merge remote-tracking branch 'origin/stable-0.4-test' into stable-0.4
Conflicts:
	include/song.h
	src/core/song.cpp
2014-01-07 23:04:21 +01:00
Tobias Doerffel
8a4440936c TimeDisplayWidget: new widget for displaying current playback time
This new widget displays current playback times in LCD style. An initial
basic implementation has been provided by by Rubén Ibarra Pastor.
2014-01-06 21:15:28 +01:00
Tobias Doerffel
5cc2483958 Song: added functions to maintain playback time information
We now also maintain information about playback time in order to display
it later.

Most of the code provided by Rubén Ibarra Pastor <pastorrub/at/msn/dot/com>.
Further improvements by Raine M. Ekman <raine/at/iki/dot/fi>.
2014-01-06 20:46:46 +01:00
Tobias Doerffel
f568a81c7a LcdSpinBox: use LcdWidget as base class
We can now use the new LcdWidget class as base class for actually
displaying our model's values.
2014-01-06 20:40:28 +01:00
Tobias Doerffel
ec6c30549a LcdWidget: new class for displaying numbers in LCD style
Code based on LcdSpinBox implementation.
2014-01-06 20:39:50 +01:00
Tobias Doerffel
5c7b32cf51 AutomatableModelView: removed deprecated setValue() helper
The setValue() helper method dates back to when we introduced model/view
separation. It's not required anymore.
2014-01-06 20:38:24 +01:00
Tobias Doerffel
87cf991c32 MidiAlsaSeq: protect concurrent sequencer accesses with mutex
The ALSA sequencer interface is not reentrant and thus we can't queue
MIDI events for output from different threads (which happens with multicore
rendering as processOutEvent() is being called by individual note play
handles). We therefore have to care that we don't call the ALSA sequencer
functions concurrently.

Thanks to Benjamin Kusch for providing a testcase.

Closes #531.
2013-11-20 23:54:31 +01:00