Commit Graph

7347 Commits

Author SHA1 Message Date
Lukas W
b8a3765cb1 Merge branch 'stable-1.2' into master 2020-06-01 15:19:20 +02:00
Oskar Wallgren
82f9239cd1 24 bit FLAC export. Clip negative side of wave (#5501)
24 bit FLAC export. Clip negative side of wave to counteract a bug in libsndfile < 1.0.29

Co-authored-by: Spekular <Spekular@users.noreply.github.com>
Co-authored-by: Hyunjin Song <tteu.ingog@gmail.com>
2020-05-27 18:33:54 +02:00
Spekular
f3032575af Remove stopPlaying connection
Missed this in #5477
2020-05-24 21:02:24 +02:00
Oskar Wallgren
0528a00cca Compensate beat note length when stretching (#5515)
* Compensate beat note length when stretching

We allow stretching beat notes to normal notes but the length starts
from -192 so there is a lag for one whole note before any change is
seen. Compensate by setting the oldNote value to 1 when stretching
if the note is 0 or below in length.

Co-authored-by: Spekular <Spekular@users.noreply.github.com>
2020-05-24 20:59:38 +02:00
Johannes Lorenz
c6a1abe150 Fix #5194: Fix knobs moving too fast (#5360)
This PR fixes issues on systems where `QCursor::setPos()` has no effect
or is not reliable. These issues included knobs moving to fast on some
operating systems. Affected widgets are `Knob` and `LcdSpinBox`.

With this PR, on all operating systems, the `setPos` calls are removed and
the cursor is not hidden anymore, so the mouse keeps moving normally
when changing values of one of the widgets.

As now the previous pointer position keeps moving (instead of being reset
to the original position using `QCursor::setPos`), the mathematics that
translate pointer pixel distance to `Knob`/`LcdSpinBox` value increase
have to be changed:

* The `Knob` transition function is now linear and uses a new factor.
* `LcdSpinBox` now uses float values and saves the current float remainder
  (this is actually a separate issue revealed by this fix), leading to a fluent,
  non hanging movement.
2020-05-24 13:35:16 +02:00
Johannes Lorenz
3a985ff1fc Fix #4201: BB editor: adjust cursor position (#5489)
This fixes an offset for cursors whose pointer position varies between
different themes.
2020-05-24 13:20:05 +02:00
Johannes Lorenz
2a66e83f53 Lv2 core implementation
Implementation of the Lv2 core, except for CV ports. No features or
extensions are supported yet.

You can now generate sound using Lv2 instruments (restricted to non-piano)
or effects.

For an explenation about the new classes, see Lv2Manager.h
2020-05-24 12:50:50 +02:00
thmueller64
d5a2366fc8 Fix #5504: invalid warning 2020-05-23 18:07:35 +02:00
Johannes Lorenz
7aef23d209 LinkedModelGroupView: Un-focus filter edit...
... whenever the user clicks other widgets
2020-05-23 09:00:11 +02:00
Johannes Lorenz
109cdf6cf3 Fix #5483: sf2_player: No crash when file is no soundfont (#5487) 2020-05-21 22:45:01 +02:00
bahaokten
c3e056a21d Implement compress action for commandline use (#5341) 2020-05-19 19:02:01 +02:00
Lost Robot
b6b75a5f21 Divide knob step size by 1000 for LADSPA effects (#4574) 2020-05-19 18:15:03 +02:00
Cyp
8a190e4e13 Fix wrong lengths of exported tracks, when tracks have different lengths. (#5348)
* Fix wrong lengths of exported tracks, when tracks have different lengths.

Song::updateLength() was called in ProjectRenderer::run() after Song::startExport(),
updating m_length too late, resulting in it being used as the length of the wrong track.

* Fix "Export as loop" resetting after rendering the first track

Co-authored-by: Hyunjin Song <tteu.ingog@gmail.com>
2020-05-19 12:28:03 +09:00
necrashter
7f9b4c2401 Implement fade in to prevent Triple Osc from clicking (#5199) 2020-05-19 11:34:54 +09:00
Johannes Lorenz
29a5abc30b Fix Qt 5.15 build issues (#5498)
Add missing QPainterPath includes
2020-05-18 12:58:48 -04:00
Johannes Lorenz
b818234c15 ControlLayout: Allow removing search bar's focus 2020-05-17 09:22:36 +02:00
Ibuki
1e8fcbdf2d Show VST parameter string (#5321) 2020-05-17 11:15:39 +09:00
Oskar Wallgren
953a0b17c1 Song Editor - Delete selected objects with backspace key (#5497) 2020-05-15 19:16:06 +02:00
Johannes Lorenz
737fcd3e55 JackMidi: Remove confusing warning at shutdown
Warning is:

```
jack_port_unregister called with an incorrect port 0
Failed to unregister jack midi output
```
2020-05-15 18:49:55 +02:00
Johannes Lorenz
e3cae80580 Audio/MidiJack: Fix invalid read: (3) of #5408
This atomically unsets the MidiJack reference in AudioJack right before
MidiJack is destroyed. This avoids AudioJack using a destroyed MidiJack
object.
2020-05-15 18:49:55 +02:00
Johannes Lorenz
9e9c5acc17 Audio/MidiJack: Fix invalid read: (2) of #5408
This patch
* makes `m_stopped` atomic
* initializes `m_stopped` correctly to `true`
* moves the initialization of `m_stopped` to the point where jack ports
  are already connected
2020-05-15 18:49:55 +02:00
Johannes Lorenz
c6d60e982e Audio/MidiJack: Fix invalid read: (1) of #5408
This fixes reading from jack MIDI events in case where
there are no jack MIDI events.
2020-05-15 18:49:55 +02:00
Lukas W
f5ecddbb1f Fix Windows rpmalloc compile flags 2020-05-12 11:43:23 +02:00
Lukas W
dc95f07287 Fix Windows compilation with no gzip available 2020-05-12 11:31:05 +02:00
Lukas W
187f7f58c7 Merge stable-1.2 into master 2020-05-12 11:18:14 +02:00
Hussam al-Homsi
04239bafc3 addStretch() before adding the oscilloscope 2020-05-10 13:29:14 +02:00
Hyunjin Song
23fd4bd05c Forward search paths correctly in INSTALL_TARGET_DEPENDENCIES
Also fixes a typo in cmake/install/CMakeLists.txt.
2020-05-10 10:33:03 +09:00
Hussam al-Homsi
ec37f347de Refactor the oscilloscope (#5488)
* Rename files

* Update code

* Remove unused code

* Make background a member variable
2020-05-09 18:19:17 -04:00
Lost Robot
79511d6004 Decrease Bitcrusher bit depth reduction step size (#5407) 2020-05-09 14:03:34 -06:00
akimaze
ab107f01f9 VST preset preview (#5441)
* Enable vestige presets preview.

* Don't destroy vestige instrument on every preset change.

* Don't reload VST dll plugin when it's not necessary. Always hide plugin UI in preview mode.

* Don't remove other instruments in preview mode, don't send instrument change signal.

* Minor changes

* Add a change I missed

Co-authored-by: Hyunjin Song <tteu.ingog@gmail.com>
2020-05-09 13:23:40 +09:00
Kevin Zander
317be01012 Fix #4098 (#5449)
Fixes piano roll crashing when window is scaled too large.
2020-05-07 14:18:15 +02:00
thmueller64
56fbefc700 Fix #5461 and ensure consistent use of check gate (#5475)
* Multiple effects: Calculation of `outSum` should be after D/W mixing
* CrossoverEQ.cpp: `outSum` must be divided by frames in the end 
* CrossoverEQ.cpp: don't overwrite `outSum` in for loop, but increment it
2020-05-06 11:23:40 +02:00
Kevin Zander
1a6f4c1104 Add option to move SideBar to right side of window (#5114) 2020-05-05 11:46:25 +09:00
Spekular
6095bbc762 Merge pull request #5477 from Spekular/SampleIndicator
Sample track activity indicator
2020-05-04 17:11:38 +02:00
tresf
71b6107d9b Remove unwarranted CXX flag
Per https://github.com/LMMS/lmms/pull/4080#issuecomment-623058847
2020-05-03 02:26:57 -04:00
Hyunjin Song
c18edd4cef Use local cursor instead of global one in PianoRoll (#5200)
Fixes stuck vertical cursor as well.
2020-05-03 12:44:30 +09:00
Andreas Müller
f4f10c11fc 3rdparty/cmake: Do not reset CMAKE_C(XX)_FLAGS (#4080)
CMake 3rdparty: Do not overwrite CMAKE_C(XX)_FLAGS

Co-authored-by: tresf <tres.finocchiaro@gmail.com>
2020-05-02 16:55:06 -04:00
Oskar Wallgren
ca09b29087 Select the correct piano key for marking semitones (#5478)
When selecting a Piano Key to mark semitones in the Piano Roll we
select key from the y position of the pop-up menu and not the mouse.
Incidentally these two are most often the same as the menu builds
from the mouse y positon and down. If there is room for it. If there
is no room downward it will create the menu so the lower part of the
frame aligns with the mouse y position.
Fixed by creating a variable to hold the pressed key before creating
the menu.
2020-05-02 16:41:44 +09:00
Spekular
e643f83bc0 Merge branch 'SampleIndicator' of https://github.com/Spekular/lmms into SampleIndicator 2020-05-01 20:04:24 +02:00
Spekular
9ed5f80fe0 Refactor palette update on un/mute 2020-05-01 20:03:27 +02:00
Spekular
0c180b8dc5 Nicer spacing in activity indicator's setGeometry call
Co-authored-by: Kevin Zander <veratil@gmail.com>
2020-05-01 12:27:41 +02:00
Spekular
aaf94ef69d Formatting chananges 2020-04-30 22:07:00 +02:00
Spekular
ae2af96c9a Use nullptr instead of NULL
Requested by Veratil <veratil@gmail.com>
2020-04-30 18:06:06 +02:00
akimaze
c755b56a52 Piano roll vertical zoom (#5442) 2020-04-30 11:22:28 +09:00
Spekular
5821466f18 Fix indicator in BB editor 2020-04-29 21:17:16 +02:00
Spekular
b46ea0e9af refactor 2020-04-29 20:44:09 +02:00
Spekular
7c2c77cc89 Mergefix 2020-04-29 17:49:28 +02:00
Hyunjin Song
687870d302 AFP: fix loading start and loop points if the loop point is automated (#5472) 2020-04-28 14:41:11 +09:00
Hyunjin Song
e199f72686 Fix crash on drawing line on the end of a graph (#5471)
This bug was introduced in dff76b2e83.
The function changes [sample_end, sample_begin), but emits the signal
as if [sample_end, sample_begin] has been changed. That bug made
Multitap Echo crash when tweaking the cutoff of the 32nd stage.

This commit fixes the issue by emitting sampleChanged with sample_end - 1.
2020-04-28 14:39:39 +09:00
Spekular
9efb6f9a8e Merge pull request #5469 from Veratil/issue-5254
Set AutomationPattern length to 1 bar if the length is 0
2020-04-26 22:21:04 +02:00