Commit Graph
2274 Commits
Author SHA1 Message Date
Sergey Fedorov 2ded48598f versioninfo.h: improve recognition of compiler and platforms (#6795) 2023-08-02 23:05:27 -04:00
Kevin Zander 5ccc8d952a Remove redundant nameChanged signal from InstrumentTrack (#6742) 2023-07-02 15:02:37 +09:00
Michael Gregorius 0ebc18941b More whitespace adjustments (#6711)
More whitespace adjustments as proposed in the code review.
2023-06-02 22:17:03 +02:00
Michael Gregorius fda938fcca Code review changes (#6711)
Remove underscores and whitespace in the Model files.
2023-06-02 20:51:07 +02:00
Michael Gregorius 43319a8d79 Move implementations of Model into cpp file (#6711)
Move the implementation of the Model methods into Model.cpp so that
recompiles after changes are much quicker. Make Model::
isDefaultConstructed const.
2023-05-26 11:11:45 +02:00
Michael Gregorius 75627a15f9 Fix automation crash (#6711)
Fix a crash that occurs if the zooming or snapping model of the Song
Editor is used for automation.

The crash is caused by a failed static_cast to a Model* in
Model::parentModel(). The cast fails because in the constructor of
SongEditor the SongEditor is set as the parent of the zooming and
snapping model:
m_zoomingModel->setParent(this);
m_snappingModel->setParent(this);

This commit is rather a "band aid" fix because it only fixes the crash
by changing the static_cast to a dynamic_cast. However this means that
the name of the automation clip is initially empty.

A better solution would be to not use the Qt parent/child relationships
to implement the model hierarchies.
2023-05-26 10:52:35 +02:00
d551938cbd Add confirm removal on mixer channels (#6691)
* Add confirm removal on mixer channels

Add confirm removal popup when the user calls the action "remove channel" on a mixer channel that is in use (receives audio from other channel or track). Set a config variable to keep track if the user don't want to be asked again. Adding a scroll on settings-general tab because there weren't enough space on the area.

* Core Mixer function channel in use

New core Mixer function to check if a given channel is in use (receives audio)

---------

Co-authored-by: Hyunjin Song <tteu.ingog@gmail.com>
Co-authored-by: saker <sakertooth@Gmail.com>
2023-05-10 20:14:24 +09:00
Lost Robot 87a57db593 Add instrument plugins to Song Editor via right click (#6698) 2023-05-06 13:16:07 +09:00
Michael Gregorius ffe3bb4399 Merge pull request #6607 from michaelgregorius/ImproveReadabilityOfTextFloat
Improve readability of text floats
2023-04-29 16:53:58 +02:00
Michael Gregorius b90156bedd Coding conventions
Adjust the code style of the adjusted and created classes according to
the coding conventions.
2023-04-09 17:02:26 +02:00
Lost Robot fb529a19c5 Make note octave highlight in piano roll obey microtonality (#6663) 2023-03-26 12:30:12 -07:00
Johannes Lorenz 5b84b65236 Lv2: Update copyright 2023-02-21 21:03:00 +01:00
Johannes Lorenz 49a6abb343 Lv2: Add/improve some comments 2023-02-21 21:03:00 +01:00
Johannes Lorenz f48dd0fb1f Fixes #6401: Reload Lv2 plugin on SR change
This also includes banning blop's wavedata plugins, because they crash
on reloading. Reference: https://gitlab.com/drobilla/blop-lv2/-/issues/3
2023-02-21 21:03:00 +01:00
Johannes Lorenz 7649f5ed24 Lv2ControlBase: Remove unused virtuals
They were never used. Possibly they were just in the code because the
code originated from #4662 (where the virtuals would also be
omittable...).
2023-02-21 21:03:00 +01:00
dev 192119621f Save Piano Roll behaviour at stop state 2023-02-18 10:23:06 -06:00
Kevin Zander 534e7edf0f Merge pull request #6603 from messmerd/include-guard-fix
Fix include guards and copyright statements
2023-02-18 09:32:27 -06:00
Lost Robot 8ba6a5f89e Draggable effects (#6648)
Reorder effects in Mixer with the mouse via click and drag
2023-02-18 09:22:16 -06:00
Johannes Lorenz 22eb7a1364 clang-tidy: Apply readability-const-return-type 2023-01-21 17:44:48 +01:00
Hyunjin Song f89d52fa21 Fix more Qt deprecation warnings (#6615)
* Add <QHash> to PluginFactory.h

* Handle one more deprecated QTextStream::endl

* Replace QLayout::setMargin with setContentsMargins

* Replace Qt::MidButton with Qt::MiddleButton

* Replace QPalette::Background with QPalette::Window

* Fix deprecation warnings in LcdFloatSpinBox
2023-01-18 10:16:28 +09:00
Hyunjin Song e8e54a7ba8 Remove more global automation from MidiImport (#6605) 2023-01-17 21:17:38 +09:00
Michael Gregorius 17295a4f86 Introduce SimpleTextFloat
Introduce the new class SimpleTextFloat which simply shows a text and
that works like a pseudo tool tip with a narrow margin. It was extracted
from TextFloat to adhere to the single responsibility principle.

The new class is used by:
* Fader: display the current volume when moving the fader
* Knob: display the current value when the knob is moved
* PianoRoll: display the current value when setting the note volume and
  panning

Add stylings for the new widget in style.css.
2023-01-10 19:20:26 +01:00
Dalton Messmer d89f53b4b0 Fix mistakes 2023-01-07 21:12:23 -05:00
Michael Gregorius 6dfdafe1f7 Improve readability of text floats
Improve the readability of text floats by removing the hard coded pixel
font size. The widget is now composed of three QLabels which are used to
display the title, text and pixmap. Remove the methods paintEvent and
updateSize because the widget is now updated automatically whenever the
QLabels change state.

Merge both versions of TextFloat::displayMessage because one of them was
only called by the other.

The default constructor of TextFloat now delegates to the "full"
constructor. The latter is private because it is only used from within
displayMessage.

The methods setTitle, setText and setPixmap show/hide their
corresponding labels depending on whether there is text or a pixmap to
show.

Adjust the class Fader so that the text float is shown to the right of
the fader. Otherwise the new implementation would have covered the fader
while it is being moved.
2023-01-07 20:43:53 +01:00
Dalton Messmer 2c6d88f799 Add GUARD_H closing comments 2023-01-05 17:58:49 -05:00
Dalton Messmer 92522cf3ab Add missing copyright statement to CustomTextKnob.h/cpp 2023-01-05 14:03:07 -05:00
Dalton Messmer bbf31a2e73 Add missing copyright statement to MidiCCRackView.h 2023-01-02 22:02:12 -05:00
Dalton Messmer fe6df8dbaf Add namespace prefix to include guards 2023-01-02 19:51:32 -05:00
Dominic Clark d95c89760a Support ZynAddSubFx with MSVC (#6561) 2023-01-02 23:42:46 +00:00
PrestonXPitzer 79def0c3b5 Changed Whitespace
removed whitespace in Piano.cpp and Piano.h to comply with LMMS coding convetions
2023-01-01 14:57:24 +01:00
Lost RobotandHyunjin Song 2f2ba41f28 Microtonality for SF2Player (#6580)
Co-authored-by: Hyunjin Song <tteu.ingog@gmail.com>
2023-01-01 10:28:30 +00:00
a876cf9d00 clang-tidy: Apply modernize-avoid-c-arrays everywhere (#6564)
Co-authored-by: Dominic Clark <mrdomclark@gmail.com>
Co-authored-by: Hyunjin Song <tteu.ingog@gmail.com>
2022-12-30 22:18:14 +00:00
Veratil edd759b511 Fix deprecated QString.sprintf with QString.arg 2022-12-28 20:36:10 -06:00
Lost Robot ae55450155 Make shifting notes by octaves respect microtuning (#6545) 2022-11-05 15:42:56 -07:00
Michael Fulghum a57265cf8d Limit height of while position line to height of all tracks (#6509)
* Position line height fits all tracks when line is moved or updated

* Refactor track height calculation; create connection to update position line height
2022-10-04 14:43:23 +09:00
2f7a6558a1 clang-tidy: Apply modernize-loop-convert everywhere (#6481)
Co-authored-by: allejok96 <allejok96@gmail.com>
Co-authored-by: Dominic Clark <mrdomclark@gmail.com>
2022-09-27 09:27:35 +01:00
Johannes Lorenzandallejok96 3cc5ec7282 Add check-namespace script (#6438)
This also fixes a lot of code files to be conforming to the script.

Co-authored-by: allejok96 <allejok96@gmail.com>
2022-08-30 02:19:07 +02:00
Craig Raslawski 17f597695b Fix wrong cursor for selected resizeable clips in song editor (#5996)
Fixes #879.
2022-08-28 12:09:52 +09:00
saker b451e40b51 clang-tidy: Apply modernize-use-using everywhere (#6453) 2022-07-07 10:54:34 +02:00
Dominic Clark 6c3e148fbb Make VST sync always-on and non-global (#6418) 2022-07-04 17:03:17 +01:00
Alex 9705c31773 Transpose midi clips in song editor (#6409)
* Transpose midi clips in song editor

* Fix undo stupidity

* Check boundries when transposing clips

and move transpose function to NoteVector

* Avoid update if nothing has changed

* Make getNoteBounds a separate function

* Rename getNoteBounds to boundsForNotes

* bool operator instead of optional + qobject_cast

* Revert "bool operator instead of optional + qobject_cast"

This reverts commit 98c56a96cf.

* qobject_cast and nullopt
2022-07-04 10:16:22 +09:00
Levin Oehlmann c075ba93fb clang-tidy: Run modernize-use-emplace everywhere (#6451)
... to avoid constructing and copying temp objects
2022-06-26 08:54:59 +02:00
Levin Oehlmann 28ec71f91a clang-tidy: Apply modernize-use-equals-default everywhere (#6450) 2022-06-26 08:48:24 +02:00
Levin Oehlmann e72d9d46b8 Add missing gui:: prefixes to types in AudioSoundIo (#6447)
Fixup of #6174 .
2022-06-25 00:53:01 +02:00
Levin Oehlmann 773310384b clang-tidy: Apply modernize-redundant-void-arg everywhere (#6446) 2022-06-23 21:27:23 +02:00
sakertooth 420769a32d Fix Qt Deprecations (#6386)
Co-authored-by: Kevin Zander <veratil@gmail.com>
Co-authored-by: Dominic Clark <mrdomclark@gmail.com>
2022-06-23 20:28:04 +02:00
Dominic Clark 96df9b006c Clean up macros a bit (#6444)
* Prefix `STRINGIFY` and `STR` macros with `LMMS_`

* Fix include guard macro names

* Remove unused macros
2022-06-23 12:20:05 +01:00
Levin Oehlmann 5904b249c0 clang-tidy: Apply modernize-use-override everywhere (#6439)
... to mark overriding functions `override` instead of `virtual`.
2022-06-19 23:03:55 +02:00
Levin Oehlmannandallejok96 7227c89847 Namespace lmms (#6174)
This PR places all LMMS symbols into namespaces to eliminate any potential future name collisions between LMMS and third-party modules.

Also, this PR changes back `LmmsCore` to `Engine`, reverting c519921306 .

Co-authored-by: allejok96 <allejok96@gmail.com>
2022-06-19 20:08:46 +02:00
Shmuel H 371f7f506d AudioEngine: Introduce RequestChangesGuard: a RAII verion of
requestChangeInModel.

Deprecate direct calls to requestChangeInModel.
2022-06-18 15:41:47 +09:00