Commit Graph

7950 Commits

Author SHA1 Message Date
Michael Gregorius
3b119f98f3 Merge remote-tracking branch 'upstream/master' into dynamic-effect-dialog
Merge master from upstream to get past the problems related to the
submodule for resid once and for all. See #6916.
2023-10-03 09:06:43 +02:00
Michael Gregorius
8b94bd8e65 Merge pull request #6779 from michaelgregorius/2510-SetupDialogWithLayouts
Solve the HiDPI issues of the setup dialog (#2510)
2023-10-01 21:53:50 +02:00
Rossmaxx
e1cc63bb97 Switched ladspaeffect/Cmakelists.txt to use LMMS_HAVE_* instead of WANT_* (#6903)
* fixed cmakelists conditions

* Fixed the order messup.

Co-authored-by: Dominic Clark <mrdomclark@gmail.com>

---------

Co-authored-by: Dominic Clark <mrdomclark@gmail.com>
2023-10-01 09:55:25 -04:00
Michael Gregorius
a54dc9a05f Remove LedCheckBox include
Enable the removal of the `LedCheckBox` include by commenting out code instead of using an `if(false)` statement.

The commented out code was adjusted so that it would work with the current usage of layouts.
2023-10-01 10:34:21 +02:00
Michael Gregorius
1399d5906f Left align "General" and "Paths"
Left align the scroll area content for "General" and "Paths" so that they look like the content on the other tabs.
2023-10-01 10:21:34 +02:00
Michael Gregorius
cc6a0e86b5 Remove border/shadows from scroll area
Remove the border/shadows from the QScrollAreas used in the context of the setup dialog via the style sheet.
2023-10-01 10:17:08 +02:00
Michael Gregorius
d12675af2f Remove unnecessary addStretch
Remove an unnecessary call to `addStretch` and with that a TODO.
2023-10-01 10:00:52 +02:00
Michael Gregorius
85310e75d3 Order of includes and forward declarations
Fix the alphabetical order of all includes and forward declarations.
2023-10-01 09:57:13 +02:00
Michael Gregorius
339ee6d1e9 Merge remote-tracking branch 'upstream/master' into 2510-SetupDialogWithLayouts-MasterMerge
Merge master to integrate the changes of:
* f10277715f: Classier enums
* 7aca8ae726: SetupDialog: Warn of unusual buffersizes
* 8fb9c3e6a2: Fix warnings in Clang build (#6893)

Solved conflicts in:
* src/gui/modals/SetupDialog.cpp
2023-10-01 09:40:42 +02:00
Michael Gregorius
4f94c3b13c Review change - Rectangular buttons
Give the reset buttons for auto save and buffer size a rectangular shape. The size is fixed but the button and the pixmap scale with different scaling factors so that should be ok.
2023-09-30 21:15:10 +02:00
Michael Gregorius
b29a46edf8 Ensure minimum width for setup dialog
Ensure that the dialog has a minimum width so that everything is shown.
2023-09-30 12:12:04 +02:00
Oskar Wallgren
7dc00524fa Mallets - Add random knob function (#6466)
* Mallets - Add random knob function

Implement randomness for the instrument. When Random is applied, Hardness and Position of instrument 1 - 9, or Modulator and Crossfade on instrument 10 (Tubular Bells), are nudged on every note to liven up the sound. With the modulated knobs placed at their center values, Random at max will select from the full range of possible values.

Co-authored-by: saker <sakertooth@gmail.com>
Co-authored-by: Dominic Clark <mrdomclark@gmail.com>
2023-09-29 20:39:01 +02:00
Dalton Messmer
8fb9c3e6a2 Fix warnings in Clang build (#6893)
* Fix unused variable warning

* Fix implicit conversion warning

* Fix unused lambda capture in DataFile.cpp

* Fix implicit conversions in InstrumentFunctions.cpp

* Fix operator precedence bug in Flags.h

* Fix unused variable warning in Lv2UridMap.h

* Fix unused lambda capture in MixerView.cpp

* Fix unused lambda captures in SetupDialog.cpp

* Fix unused lambda capture in TrackOperationsWidget.cpp

* Fix MSVC build

* Fix style

* Remove unused member variable in Lv2UridMap.h
2023-09-28 20:23:35 -04:00
Bimal Poudel
23ef89b4a1 Update SampleBuffer.cpp (#6892)
File information corrected.
2023-09-24 21:03:29 -04:00
Bimal Poudel
f664698c80 Update copyright year (#6888) 2023-09-24 18:58:56 -04:00
Johannes Lorenz
33d1baddc0 Implement Lv2 Worker (#6484) 2023-09-24 17:36:59 +02:00
Johannes Lorenz
83777dc1f7 Lv2Proc: Set def val for ComboModel, too 2023-09-24 17:36:59 +02:00
Johannes Lorenz
94608eaad1 Lv2Proc: Sort scale point maps (#6859)
lilv can return the scale points in randomized order, and so the linked
models (of stereo effects wit 2 `Lv2Proc`) may have different scale
points. This would mean that the same combo enumeration value would have
different float values in linked models. This problem is fixed by
sorting the scale values.

Also, it is more natural for users if scale points are enumerated in a
numerical order.
2023-09-24 17:36:59 +02:00
Johannes Lorenz
7aca8ae726 SetupDialog: Warn of unusual buffersizes
This displays a warning dialog if the users requests unusual
buffersizes:

- buffersizes less than 32
- buffersizes which are not a (natural number) power of 2

This commit also replaces some `setGeometry` stuff by `QBoxLayout`.
2023-09-24 17:36:59 +02:00
Johannes Lorenz
61b612634d Add plugin blacklist for buffersize<=32 2023-09-24 17:36:59 +02:00
Johannes Lorenz
9c46370234 Support LV2_BUF_SIZE__powerOf2BlockLength 2023-09-24 17:36:59 +02:00
Johannes Lorenz
d97377b640 Lv2: Improve LED widget's digit calculation
This improves the way digits are calculated for display in
`Lv2ViewProc`:

- More than 2 digits are now recognized
- Minus signs are now recognized
- Tests have been added
2023-09-24 17:36:59 +02:00
Johannes Lorenz
c309d8bd11 Lv2ViewProc: Improve variable names 2023-09-24 17:36:59 +02:00
Lost Robot
006c43820b Fix Compressor zero divisions (#6887)
* Fix threshold zero division

* Fix RMS zero division
2023-09-24 13:19:19 +02:00
saker
49c713df5b Use resid submodule from libsidplayfp (#6883) 2023-09-23 19:33:20 -04:00
Michael Gregorius
788eab7d7e Cleanup include for FloatModelEditorBase 2023-09-23 12:11:06 +02:00
Michael Gregorius
d6eb10f1fa Code style changes in FloatModelEditorBase
`FloatModelEditorBase` is a new class/file. Therefore we can do some extensive code cleanup on the code that was initially copied from `Knob`.

Adjust whitespace for methods and some if-statements. Remove underscores from parameter names. Use only two blank lines between method definitions.
2023-09-23 12:08:13 +02:00
Michael Gregorius
bce26f5a22 Cleanup includes in Knob class 2023-09-23 11:55:01 +02:00
Michael Gregorius
cdfeabc98b Make Knob inherit from FloatModelEditorBase
Make `Knob` inherit from `FloatModelEditorBase`. This is mostly a continuation for the changes introduced with commit c63d86f.

The idea is that `FloatModelEditorBase` contains the underlying functionality and logic to deal with float models. `Knob` and other classes then only override the presentation aspects. This way `Knob` and `BarModelEditor` can share the same functionality but can differ in how they present the data.

Technical details
------------------
Remove all methods that are already defined in `FloatModelEditorBase` from `Knob`. These are all methods that are defined in the same way in `FloatModelEditorBase`. The method `paintEvent` is not removed because it is overridden by `Knob` as it has its own presentation.

Remove forward declaration of `QPixmap` from `FloatModelEditorBase` as it was not used. Remove unused function `convertPixmapToGrayScaleTemp` from `FloatModelEditorBase`.
2023-09-23 11:48:18 +02:00
Michael Gregorius
8593f78a2c Show current value on mouse over
Integrate the changes of commit fcdf4c0568 into `FloatModelEditorBase`. This commit lets users show the current value of a float model when the mouse is moved over the control.
2023-09-23 10:48:08 +02:00
Michael Gregorius
e4934132d9 Modifier keys for mouse wheel adjustments
Integrate the changes of commit 7000afb2ea into `FloatModelEditorBase`.

This commit added modifier keys for mouse wheel adjustments to the `Knob` class. The port to `FloatModelEditorBase` results in the bar control now also supporting different scales of adjustments that can be switched with the Shift, Ctrl and Alt keys.
2023-09-23 10:32:10 +02:00
Michael Gregorius
9da879d989 Merge remote-tracking branch 'upstream/master' into dynamic-effect-dialog-merge_upstream_20230923 2023-09-23 10:18:57 +02:00
Michael Gregorius
55a3920265 Work on TODOs
The TODO "Assumes that all processors are equal..." has been turned into a comment when we start iterating over the channels. If the channels are not of the same structure this would likely also have been a problem in the old implementation.

The TODO "Use a factory..." has been removed as this is already done.

The include of `FloatModelEditorBase.h` in LadspaWidgetFactory has been removed.
2023-09-23 09:37:13 +02:00
Artur-Twardowski-Mobica
f0aa2862d7 Updated MIDI CC handling not to count from 1 (#6774) 2023-09-22 20:07:25 +01:00
Michael Gregorius
0576f9daa6 Merge pull request #6789 from michaelgregorius/2510-HiDPI-Fix-For-QTreeViews
HiDPI fixes for elements based on QTreeView
2023-09-22 18:54:50 +02:00
Michael Gregorius
93d3e8c82c Adjust the classic theme
Adjust the classic theme so that it is consistent with the changes made to the default theme.

It was only necessary to change the font-size of the check boxes in the file browser to points because the QTreeView already does not contain any font settings.
2023-09-22 18:16:45 +02:00
Michael Gregorius
910cdf22cb Merge pull request #6788 from michaelgregorius/2510-HiDPI-Fix-for-Sample-Track-Window
Fix HiDPI issue of sample track window
2023-09-22 17:47:25 +02:00
Michael Gregorius
e5bb07a5ae Merge pull request #6787 from michaelgregorius/2510-Fix-HiDPI-Issues-For-Menus
Fix HiDPI issues for menus
2023-09-22 17:34:51 +02:00
Alexandre Almeida
07229b6404 Show error message when loading an invalid sample file (#6286) 2023-09-22 00:18:23 +01:00
Michael Gregorius
21fb430c76 Merge pull request #6867 from michaelgregorius/RemoveIdenticalCalls
(Re)move identical calls to `InstrumentTrack::processAudioBuffer`
2023-09-21 20:12:04 +02:00
Michael Gregorius
b6c80bd736 Replace check for nullptr
Replace the check for a `nullptr` buffer with a check that checks if the NotePlayHandle uses a buffer. This is effectively the same condition that's used by `PlayHandle::doProcessing` to decide if it should call play with a `nullptr` in the first place. Hence it should be the most fitting check.
2023-09-21 19:24:06 +02:00
Maxwell Voorhes
3df28e30b6 Changed sharps to music sharps unicode (#6873) 2023-09-20 18:32:21 -04:00
Michael Gregorius
7e8c79a191 Enable build under NixOS (#6855)
Explicitly call the perl interpreter when building the SWH LADSPA plugins
2023-09-20 13:52:59 -04:00
Dominic Clark
94d0b9111b Use UTF-8 for MSVC source and execution charset (#6876) 2023-09-19 19:56:55 -04:00
Dominic Clark
dc88040fbe Add instrument play handles unconditionally (#6875) 2023-09-18 19:18:28 -04:00
Rossmaxx
733e0a1e54 Fix invalid use of iterators in piano roll (#6869) 2023-09-18 17:44:08 +01:00
Martin Pavelek
e9125d3ad3 Fix LcdFloatSpinBox constructor and label alignment (#6686) 2023-09-17 16:55:04 +01:00
Austin
4348038b0f Added automatic dark note on light background for midi clips. (#6539) 2023-09-17 17:34:42 +02:00
Michael Gregorius
6c3ae30c89 Add comments about nullptr guard
Add some comments which describe why we need to guard agains nullptr.
2023-09-16 19:19:37 +02:00
Michael Gregorius
73f9f36c9a Code review changes
Remove whitespace in methods and add it to the parenthesis of some statements. Remove underscores from parameter names. Remove usage of `this` pointer.

Add `auto` keyword to shorten line length in `InstrumentPlayHandle::play`.

Move `const_cast` of `NotePlayHandle` closer to the `process` method as this method is the reason that the cast is needed in the first place. One might also add a version of `nphsOfInstrumentTrack` that returns a non-const result but it seems to be a general problem of a missing clear responsibility so I keep it as is.
2023-09-16 13:35:15 +02:00