Commit Graph

2743 Commits

Author SHA1 Message Date
Andrew Kelley
f7ff96fe4f add libsoundio audio backend
This adds libsoundio (http://libsound.io/) as an available audio
backend. libsoundio supports JACK, PulseAudio, ALSA, CoreAudio,
WASAPI, and a dummy backend.
2015-09-13 16:07:10 -07:00
Michael Gregorius
39692643cf Introduction of several toolbars for editors and CSS changes
The piano roll's actions have been grouped into several toolbars. There
are now five groups / tool bars: "Transport controls", "Note controls",
"Copy paste controls", "Timeline controls" and "Zoom and note controls"
(this group is a bit mixed). Each group can be turned off and on using
the standard toolbar context menu provided by Qt.

The new default layout of the toolbars saves horizontal space by putting
the "Zoom and note controls" below the other toolbars. The toolbars can
be hidden and shown via the context menu but these states are not
stored.

The "Song editor", "Beat+Bassline editor" and "Automation editor" have
been switched to using movable toolbars as well.

Adjusted the Editor class to have some other defaults for the "Transport
controls".

Added some methods to add toolbars to editors and changed the other
editors' code to use it. This way the properties of a standard editor
toolbar can be changed in a simple and central way.

Fixed the size of the timeline control buttons which are implemented as
NStateButton. Previously these had a fixed size and appeared smaller than
all other buttons. Now they behave like other ToolButton with respect to
the size. Also removed a fixed size call in ToolButton itself.

Made some adjustments to the CSS for QToolBar and QToolButton:
* Switched the QToolBar CSS to a vertical gradient and also increased
the padding to 2px on the way.
* Previously all buttons looked like they were pressed. This was fixed by
using the same linear gradient that is used for the QToolBar.
* The hover effect for QToolButtons is a bit more subtle now and looks
less intensive as when the button is pressed / checked.
* Gave the normal buttons a bit more radius.
* Adjusted the radii of the special play and stop buttons to be
symmetric so the do not look skewed.
2015-09-11 20:52:34 +02:00
Dave French
4639e37c31 Merge pull request #2324 from Wallacoloo/pianoroll-refactor
Refactor PianoRoll code
2015-09-11 08:35:11 +01:00
Colin Wallace
db18fa61fe have getSelectedNotes() return the selected notes, rather than appending them to a write-back parameter 2015-09-10 21:29:36 -07:00
Colin Wallace
ff94f8b4ce Rename copy_to_clipboard -> copyToClipboard 2015-09-10 21:29:36 -07:00
Colin Wallace
ca7028933a Remove extraneous conditional 2015-09-10 21:29:36 -07:00
Colin Wallace
a17d915ccf Prefer C++11 range-based for loops over explicit iterators or Qt's foreach;
note: Qt's foreach actually duplicates the container before iterating, as well (not hugely problematic for performance since Qt containers are copy-on-write, but is still semantically misleading)
2015-09-10 21:29:36 -07:00
Colin Wallace
2e111129bd Remove unnecessary 'inline' attributes;
'inline' is only needed when a function is defined in the header, as a way to avoid multiple definitions error when linking. It is otherwise useless
2015-09-10 21:29:28 -07:00
Colin Wallace
89e7d1e758 Merge pull request #2334 from michaelgregorius/2333-inconsistent-tension-knob
Fixes an inconsistent behavior of the tension knob (#2333)
2015-09-10 02:07:58 +00:00
Dave French
d6dbc03ac9 Merge pull request #2321 from Wallacoloo/reserved-names
Remove double-underscore variable prefixes & prefer static member variables over globals
2015-09-09 22:48:55 +01:00
Michael Gregorius
46bac80470 Fixes an inconsistent behavior of the tension knob (#2333)
Until now the tension knob was only disabled for discrete and linear
mode if the cubic hermite mode was selected at least once. This behavior
is fixed with this commit.
2015-09-09 20:03:57 +02:00
Colin Wallace
3f31b5ce25 Merge pull request #2331 from Wallacoloo/FileBrowserRefactor
Refactor FileBrowser's filterItems function
2015-09-08 23:44:52 +00:00
Colin Wallace
da54b9cdb0 Fix tabbing 2015-09-07 17:08:09 -07:00
Colin Wallace
763ca09fb1 Further simplify by removing 'cm' variable 2015-09-07 17:01:55 -07:00
Colin Wallace
0260820dac Remove special showAll case; 'xyz'.contains('') always returns true 2015-09-07 16:46:41 -07:00
Colin Wallace
aad8fcb410 Remove unused class declaration, make pluginBefore a static function 2015-09-07 16:39:07 -07:00
Colin Wallace
aa77443eb1 merge the two filterItems functions into one;
also fix some formatting + use 'Pattern Editor' instead of 'B&B Editor' in context menu
2015-09-07 16:36:25 -07:00
Michael Gregorius
6b9ff4e9d3 Fixes for the tension dial (crash + missing update)
Fixes a crash that occurred when the tension dial of the automation
editor was moved when no pattern was loaded.

Also added a missing update of the tension dial when the automation
patterns are switched.
2015-09-07 20:40:16 +02:00
Colin Wallace
6a9e105c90 Const-correctness fixes 2015-09-06 15:04:46 -07:00
Colin Wallace
68da3ad64f Remove duplicated code in note move/resize cursor calculation;
also breaks apart a lengthy conditional into calculationss that are easier to understand.
2015-09-06 14:40:36 -07:00
Colin Wallace
8504633103 Remove duplicated scrolling code from keyPressEvent() 2015-09-06 13:54:53 -07:00
Colin Wallace
a32368cc3a Display pan/volume on wheel event if all edited notes have same pan/volume;
previous behavior was to display the value only if one note was being edited
2015-09-06 13:27:32 -07:00
Colin Wallace
f568f7b4a4 Formatting/tabbing fixes 2015-09-06 13:14:38 -07:00
Colin Wallace
a8fa9b75a1 Simplify conditional by initializing vol/pan to defaults 2015-09-06 13:12:08 -07:00
Colin Wallace
ebc606aaf2 Move vol/pan s_textFloat handling code into separate functions;
this avoids some code duplication & makes the mouseevent/wheelevent functions slightly smaller
2015-09-06 13:09:23 -07:00
Colin Wallace
db820e5255 Remove double-underscore prefix from __fileEncodeDevices & make it a static member variable;
this helps to reduce pollution of the global namespace
2015-09-05 22:28:18 -07:00
Colin Wallace
1944499fa3 remove double-undercscore prefix from portName function 2015-09-05 22:00:14 -07:00
Colin Wallace
b53e7a7fbe Rename __targetNames to targetNames, and make it a static member variable 2015-09-05 21:54:06 -07:00
Colin Wallace
39133ab0ea Move update_1_2_0() functionality into upgrade_1_1_90();
Next release candidate will be named 1.1.90
2015-09-05 21:38:36 -07:00
Colin Wallace
f6b696fa0f Don't use underscore parameter names in value, setValue functions 2015-09-05 11:38:30 -07:00
Colin Wallace
0f2da6f68b Provide upgrade path to copy the MidiAlsaRaw 'Device' property to new 'device' 2015-09-05 11:38:29 -07:00
Colin Wallace
697aebc056 Consolidate midi config widgets & move them out of the core 2015-09-05 11:38:29 -07:00
Colin Wallace
cbf6d24e8f Fix const-correctness in FxMixer::channelSendModel 2015-09-02 21:17:35 -07:00
Michael Gregorius
5b2e77b444 Improved metronome (on/off during song, pattern and bb playback)
There is a new tool button that can be used to turn the metronome on and
off. Per default the metronome is turned off. When enabled the metronome
will during on song playback, pattern playback and BB playback. During
export it is ignored.

A new icon was added as well.

The state is currently stored in the Mixer. It might make sense to put
the metronome configuration in its own class in the future. The state is
currently not stored in the file but this might be a good choice for now
until a better place is found for the metronome data.

Also removed some repeated calls to Engine::getSong() and
Engine::fxMixer().
2015-08-29 15:04:41 +02:00
Colin Wallace
8fd5fe90d2 Merge pull request #2273 from michaelgregorius/2272-template-fixes
Fixes #2272 and other problems with the templates
2015-08-26 17:16:38 +00:00
Michael Gregorius
abbd7c48cf Switch local variable to camel case 2015-08-26 18:59:31 +02:00
Colin Wallace
c99c6eeea9 Merge pull request #2135 from michaelgregorius/alsa-combobox
Partial fix for #1600: ALSA device can be selected using a combo box
2015-08-26 03:21:48 +00:00
Tres Finocchiaro
de40aa81ce Minor CLI fixes
Closes #2258
2015-08-24 16:25:40 -04:00
Colin Wallace
35486293e3 Merge pull request #2222 from michaelgregorius/2209-font-sizes-too-small
2209 font sizes too small
2015-08-23 01:35:45 +00:00
Colin Wallace
123de3aade Add missing include necessary for Qt5 compilation 2015-08-22 00:36:39 -07:00
Tres Finocchiaro
c68f31aeda Add horizontal scroll support to SongEditor
Closes #2275
2015-08-21 21:23:03 -04:00
Michael Gregorius
4571d14029 Prevent resizing of the "Controls" button
The "Controls" button will now keep its minimal size when the
ControllerView is resized.
2015-08-18 18:23:40 +02:00
Michael Gregorius
4883c579a5 Check the existence of an input file that is to be rendered (#2262)
Added a check for the existence of the file that should be rendered from
the command line. LMMS now exits with an error message in case the file
does not exist.
2015-08-17 22:25:19 +02:00
tresf
2035ff3e3c Initial Homebrew on OSX Lion patch 2015-08-17 12:39:41 -04:00
Michael Gregorius
bc1a416cd1 Added an option to save a project as the default template
A new option to save a project as the default template is now available
in the file menu. If the default template already exists the user is
asked whether he wants to overwrite it.
2015-08-16 16:18:38 +02:00
Michael Gregorius
8c93b6bfee Fixes #2272 and other problems with the templates
Removes the non-intuitive saving of the default template in
MainWindow::createNewProject.

Other fixed problems:
* User entries were not shown in the menu of the tool button that
creates new projects from templates. Now they are shown as well.

Other changes:
* Adds a new option "New from template" in the file menu. It shows the
same menu as the tool button.
2015-08-16 15:46:10 +02:00
Michael Gregorius
ef449f5bae Remove the horizontal scrollbar from controller rack view
Removes the potential horizontal scrollbar from the controller rack
view.

Also sets the MDI window of the controller rack to a bigger size in the
constructor and moves it towards the other windows. This code is active
in the case where there is no default template from which the window
states are loaded.
2015-08-16 09:39:00 +02:00
Colin Wallace
5449706527 Merge pull request #2261 from M374LX/improve-main
main(): improve error handling and clean up code
2015-08-15 10:51:08 -07:00
M374LX
6966559600 Make it able to hide BB Editor in default template 2015-08-14 21:50:57 -03:00
M374LX
8bb7b71aab Improve error handling 2015-08-13 22:50:46 -03:00