Commit Graph

1593 Commits

Author SHA1 Message Date
Ben Bryan
c514f1789a Add per-key note selection to piano roll editor, as discussed in #529.
Add missing break.

Fix tabs.
2015-09-18 09:46:39 -05:00
Michael Gregorius
7881e0315d Fixes the storage of the windows state for invisible windows
Until now windows/widgets that were invisible during the call to
MainWindow::saveWidgetState had their size stored as (0, 0). This
resulted in problems when the default template was created with
invisible windows because in new projects these windows then opened up
at a very small size.

This patch fixes the problem by introducing a new parameter of type
QSize to MainWindow::saveWidgetState. It can be used to communicate the
size that should be stored in case the widget that calls the method is
invisible. The code of most callers (PianoRollWindow, SongEditor, etc.)
has been updated to use good default sizes.
2015-09-17 17:48:37 +02:00
Umcaruje
96c435b81f Fix LED's in Compact Track buttons 2015-09-15 23:57:41 +02:00
Oskar Wallgren
dff7e3e4bb Open last active project. 2015-09-15 15:04:48 -04:00
Michael Gregorius
8b7a48cd37 Puts the controls of the InstrumentTrackWindow into a grid layout
Puts the controls of the InstrumentTrackWindow into a grid layout to
give them a more balanced look. Without this patch the labels of the
widgets are not aligned which gives the instrument controls a rather
unbalanced look.

Added a "SAVE" label for the preset button to make the layout more
balanced.
2015-09-14 21:10:20 +02:00
Andrew Kelley
98346f7a9a AudioSdl: fix cleanup hanging 2015-09-13 20:48:53 -07:00
Andrew Kelley
799f830827 Merge pull request #2339 from LMMS/audio-soundio
add libsoundio audio backend
2015-09-13 20:38:12 -07:00
Andrew Kelley
e7af4b6f3e soundio backend: use lmms code style conventions 2015-09-13 18:12:43 -07:00
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
Ryan Roden-Corrent
ea838c428d Don't use old naming convention in new methods.
Remove the _ prefix from the parameters to the newly added
ProjectRenderer::getFileExtensionFromFormat.

This naming convention is being phased out.
2015-09-13 07:39:23 -04:00
Ryan Roden-Corrent
c462261433 Use RenderManager in ExportProjectDialog.
Remove the rendering logic from the gui code in ExportProjectDialog and let
RenderManger handle it instead.

This is part of an effort to allow the CLI and the GUI to share the same
rendering logic, setting the state for a --render-tracks CLI option similiar to
the "Export Tracks" GUI option.
2015-09-13 07:28:22 -04:00
Ryan Roden-Corrent
1a22635109 Initial implementation of RenderManager.
Much of the multi-track rendering logic was intermixed with GUI code in
ExportProjectDialog.

This creates the RenderManager class to provide rendering logic that could be
shared between the CLI and GUI interfaces.
2015-09-13 07:28:22 -04:00
Ryan Roden-Corrent
e863df7171 Add ProjectRenderer::getFileExtensionFromFormat.
Currently ProjectRenderer has a helper getFileFormatFromExtension, this adds a
similar helper getFileExtensionFromFormat.

This will, for example, return "ogg" for OggFile.
2015-09-13 07:28:22 -04: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
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
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
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
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
Colin Wallace
6a9e105c90 Const-correctness fixes 2015-09-06 15:04:46 -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
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
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
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
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
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
Colin Wallace
ed6ee790ae Merge pull request #2238 from Wallacoloo/prompt-workingdir2
Fix 'create working dir' prompt & move it from ConfigManager to GuiApplication
2015-08-10 19:19:01 -07:00
Colin Wallace
65467eb66c Merge pull request #2237 from M374LX/iss1878
Fix #1878
2015-08-09 09:08:25 -07:00
Alexandre Almeida
6944b520ea Add a MINIMUM_BUFFER_SIZE constant 2015-08-09 11:50:24 -03:00
Maurizio Lo Bosco
275bcb52df #1153: added basic apple midi support 2015-08-09 09:59:12 +02:00
Colin Wallace
4d3250bb42 Fix 'create working dir' prompt & move it from ConfigManager to GuiApplication;
also sets the default choice to 'yes' (do create directories) instead of 'no'
2015-08-05 20:14:02 -07:00
M374LX
18b6f20c29 Fix #1878 2015-08-05 20:42:10 -03:00
Michael Gregorius
fa5c0c1569 Fixes the rendering of the tact numbers in the timeline
Fixed the rendering of the tact numbers in the timeline widget. Before
this fix they were not readable because they were too big. Interestingly
in this case the fix is to use a font size in pixels (half the height of
the widget). The numbers are now also rendered a bit darker than the
lines.

Also removed the pixmap for the timeline from the code and from the
filesystem. It was only used to determine the fixed height of the widget
but not rendered. Therefore it was removed and the height is now
directly set to 18 pixels which was the height of the pixmap.
2015-07-30 22:32:38 +02:00
Michael Gregorius
cd0176b5af Controllers are rendered more dynamically
ControllerRackView now uses a layout to organize the ControllerViews.
The ControllerViews in turn use layouts to organize their widgets
(labels and push button). ControllerView now inherits from QFrame
instead of QWidget. The (static) background image for controllers was
deleted because the ControllerView can now be resized dynamically.

Song: Added specific signals for added and removed controllers. Also
removed a TODO by putting the functionality to remove all controllers in
a method (removeAllControllers).

Deleted Controllers now don't unregister from Song during deletion. This
has to be done by the client (Hollywood principle - "Don't call us, we
call you.").

TODO: For some strange reason I cannot programmatically resize the
controller rack to make it fit the controllers on my screen.
2015-07-29 22:35:06 +02:00
Dave French
ac7aa69ad1 Revert Correct Priorty of fade button
reverted changes made in  #1527
copied from Github diff

Fixes #1932
2015-07-20 00:36:01 +01:00
Colin Wallace
620b3d9ef1 Merge pull request #2189 from Wallacoloo/upgrade_refactor
Separate DataFile::Upgrade into smaller functions
2015-07-19 14:36:04 -07:00
Colin Wallace
2175a47849 Separate DataFile::Upgrade into smaller functions 2015-07-15 04:11:01 +00:00
Colin Wallace
9840050ae7 Remove deprecated base64::encode(QVariant) version 2015-07-15 03:39:58 +00:00
Colin Wallace
1002fd60f0 Merge pull request #2139 from Wallacoloo/git-2138
Export percentage calculation now takes into account loop markers when necessary
2015-07-13 19:12:56 -07:00
Colin Wallace
d4e578080b Merge pull request #2150 from Wallacoloo/SampleBufferCleanup
Fix deadlock in SampleBuffer
2015-07-13 19:02:23 -07:00