Commit Graph

3364 Commits

Author SHA1 Message Date
Shmuel H
9c6e2278ce SampleTrack: call requestChangesInModel before unref SampleBuffer (#4982)
To avoid a race condition between the gui thread which destroys the
samplebuffer and the mixer thread which increases the buffer's ref-
count, we'll make sure to touch the ref-count only when wh're synced
with the mixer.
2019-05-27 21:26:30 +03:00
T0NIT0 RMX
ec64de0723 Fixes #4781: Don't disconnect LADSPA automation on export 2019-05-14 21:19:30 +02:00
Johannes Lorenz
4b4b470550 Extend ProjectJournal docs, thx to @DomClark 2019-05-13 20:23:01 +02:00
Hyunjin Song
934ea6d086 Fix controller loading error on loading projects
Fixes a regression in 91f9f1a890,
which added the range check into the wrong if statement.
2019-05-10 07:32:40 +09:00
Hyunjin Song
b9503a8c70 Fix race conditions in NotePlayHandleManager (#4966)
NotePlayHandleManager::acquire uses a read lock unless the pool is empty.
If two threads try to acquire NotePlayHandle simultaneously
when the value of s_availableIndex is 1, one thread will try to read s_available[-1].
If the acquire action and the release action are done at the same time,
NotePlayHandleManager::acquire may try to read data
before NotePlayHandleManager::release actually writes.

This commit prevents them by always using the write lock when acquiring a NotePlayHandle.
2019-05-08 15:12:17 +09:00
Ron U
3dcffbf96f fix hanging mouse in piano roll (#4822) (#4960)
* fix hanging mouse in piano roll (#4822)

* fix hanging mouse in automation & pianoroll (#4822);

* fix hanging mouse in automation & pianoroll (#4822)

removed TODO comment that I forgot in the code
2019-05-06 11:00:37 +02:00
Hyunjin Song
9ff882d09d Fix invisible note editing handles when a note has detuning info
Fixes a regression in 32df2d7fba,
the clipping area was restored in a wrong place.
Also, a wrong value was used while restoring.
2019-05-06 15:43:12 +09:00
Hyunjin Song
32df2d7fba Don't draw note detuning info over the volume/panning area (#4965) 2019-05-05 12:39:36 +09:00
Dominic Clark
ca9a9564cd Make more connections direct for automation (#4942) 2019-04-26 12:59:53 +01:00
Alexandra Dutton
160d306f48 Record chords (#4938)
* Added check for chord to notes recorded from keyboard
2019-04-24 19:18:53 +02:00
Dominic Clark
461faccaa0 Fix notes getting stuck under high CPU conditions (#4908) 2019-04-24 12:50:07 +01:00
makepost
a685049627 Allow build for Wayland w/o X11Extras, if VST off
@lukas-w reminds in 134dae8 comments that X11Extras help Linux users of
VST effects #3786. Now LMMS builds and runs on Weston without X11
dependencies, though only if WANT_VST is off.
2019-04-22 09:26:33 +02:00
https://gitlab.com/users/CYBERDEViLNL
5784dd6dc9 Use local cursor for TrackContentObjectView (#4918)
Fixes crash on cloning patterns on Qt >= 5.12.
2019-04-16 06:37:20 +09:00
Spekular
5a56969af2 Allow sample track TCOs to resize smaller than one bar (#4933)
Other changes:
* Update TCO position more exact when a drag leaves a TCO and enters `TrackContentWidget` (required to detect that the cursor has really moved when leaving a TCO with length < 1 to the right)
* Use exact length when samples are loaded, don't round it up
* Reset size when reloading same file
2019-04-15 17:54:18 +02:00
Noah Brecht
91f9f1a890 Don't try to connect to nonexistent controllers (#4939)
Fixes crash on loading presets with controllers.
2019-04-14 19:26:49 +09:00
necrashter
f79c2929a5 Fix empty editors after closing them and creating a new project (#4891) 2019-03-19 18:06:02 +09:00
Lukas W
e1adfc3952 TCO drag: Fix Ctrl+Drag crash
Fix some assumptions that source and target of a drag actions are the same
track container. Instead of looking up necessary information (track name,
type and container id) by track index, add it to the metadata.
Refactor canPasteSelection to take QDropEvent instead of the drop event's
QMimeData. Coincidentally, this fixes the method to be consistent with its
documentation.

Fixes #4844
2019-03-18 12:38:54 +01:00
Lukas W
dd6c18e62b Automation Editor: Don't accept drag events when there's no pattern
Fixes #4857
2019-03-18 12:38:37 +01:00
Dominic Clark
17f6235500 Add VST always-on-top config option 2019-03-14 09:44:48 +09:00
Lukas W
17e87c1d68 Fix MidiJack crash on exit
* Fix uninitialized m_jackClient being used in MidiJack destructor
* Fix destruction order in Mixer.cpp so that MidiJack doesn't access the
  deleted AudioJack instance

Fixes #4688
2019-03-10 10:27:51 +01:00
tresf
9e6ce0638d Blacklist $HOME as VST directory
Closes #4854
2019-03-06 23:42:28 -05:00
Alexandre Almeida
05d5e2036d Fix DrumSynth sscanf (#4869) 2019-03-03 09:44:20 +01:00
Lukas W
a233291c27 Add missing include
Compilation fails with debug build. Fixes regression from
dd99f3a7c4
2019-02-27 09:50:48 +01:00
Tres Finocchiaro
e34f75a8c7 Add needed macOS shortcuts (#4851)
Fix insert bars, delete bars, delete notes on Apple keyboard
2019-02-24 21:57:53 -05:00
Dominic Clark
505c642fbc Bring back PortAudio support on Windows (#4770)
Population of the PortAudio setup widget has been delayed until it is shown, as it was causing crashes on some systems.
2019-02-17 20:07:40 +01:00
Douglas
8d707df171 Fix Bitinvader waveform cutoff behavior 2019-02-15 11:31:01 +09:00
Hyunjin Song
fcacf44375 Ensure the restore button of a subwindow shows up correctly (#4819)
* SubWindow: ensure the restore button shows up correctly
* Remove old workaround for the maximize behavior on Mac
2019-02-12 05:27:08 +00:00
Javier Serrano Polo
e94d1c91e9 Move QT_X11_NO_NATIVE_MENUBAR to code (#4818)
Set Qt::AA_DontUseNativeMenuBar
Remove QT_X11_NO_NATIVE_MENUBAR from desktop launcher
2019-02-11 19:03:50 +00:00
Hubert Figuière
bbedfa9ec5 Fix Linux HiDPI handling
Fix HiDPI order of operations, remove shortcut technique
2019-02-09 04:41:24 +00:00
Dominic Clark
c907fcdca5 Don't let silent instruments wake up sleeping effects (#4792) 2019-02-06 19:25:11 +01:00
Johannes Lorenz
d9b5ee03fe Fix CI by reverting rpmalloc 2019-02-02 11:09:16 +01:00
Javier Serrano Polo
b28d405240 Disable built-in NaN handler through hidden setting (#4787)
* Disable built-in NaN handler through hidden setting

* Reuse code
2019-01-31 23:12:45 +01:00
Johannes Lorenz
0a47b0c8cd Fixes #4752: Update rpmalloc 2019-01-30 22:39:23 +01:00
Oskar Wallgren
8618ab5d8f Increase forced clipping level 2019-01-28 19:12:06 +01:00
Oskar Wallgren
6df6f12a3d Pianoroll - Add checkpoint before moving notes 2019-01-20 14:33:16 +01:00
Oskar Wallgren
dd99f3a7c4 Improve handling of nan/inf (#4743)
* If we find NaN/inf, we declare the whole buffer bad and set it to 0.0f. This
 is because the noise leading up to, or coming from, an infinite or NaN value
 is often very large and will create problems later in the sound chain. Especially
 if it hits a delay based fx with feedback.

 * We bump the clipping level to +/-10.0f.
2019-01-20 11:47:22 +01:00
Dominic Clark
69a51eb28b Enable VST sync by default 2019-01-19 16:29:15 +00:00
Tres Finocchiaro
d9f5e8a6df Fix left 1px lfo graph
Closes #4597, supersedes #4613
2019-01-12 23:17:24 -05:00
T0NIT0 RMX
e2de0ece8c Fix infinite MIDI note with VST made in Cabbage (LMMS#4380) (#4766) 2019-01-10 20:00:40 +01:00
Hyunjin Song
2ee02d97cb Keep off-grid position of TCOs on group moving (#4262) 2019-01-06 19:21:35 +09:00
Oskar Wallgren
4c7ca3972c Don't render Automation tracks in the Beat/Bassline (#4747) 2018-12-31 15:50:57 +01:00
Oskar Wallgren
a3ede058cd FX autoquit disabled by default (#4378)
Really short notes doesn't work well with delay based effects with the default
decay settings of the FX autoquit system where the effect can cut out. Set
autoquit as disabled by default.
Decay and Gate knobs are now also disabled when autoquit is disabled.
2018-12-31 15:50:11 +01:00
xy124
dd6d4a552b Fix broken FxLine tool tips (#3321) 2018-12-24 13:42:34 +01:00
Hyunjin Song
e1d9d899fd Fix lost control links in copied automation patterns (#4723)
This hack should be removed once the automation system gets fixed.
2018-12-22 11:37:34 +09:00
Dominic Clark
9c9290eeeb Support more than 62 simultaneous VST plugins for Qt<5.10 2018-12-08 00:30:45 +01:00
Dominic Clark
614bca7f04 Make ppqPos in VST sync sample accurate 2018-12-08 00:30:45 +01:00
Dominic Clark
2070ef21f5 Handle automation on processing thread (#4692) 2018-11-13 07:24:08 +09:00
Karmo Rosental
a8828d332c Update TimeLineWidget 60 times per second (#4703)
In addition to #4570.
2018-11-09 16:20:38 +09:00
Hyunjin Song
86f9a75d98 Fix song editor visualization after maximizing (#4698) 2018-11-07 13:41:03 +09:00
Hyunjin Song
d8fb07ff52 Fix minor glitches with sample tracks (#4666)
Switches some signal-slot connections to Qt::DirectConnection.
Now LMMS can handle loop points correctly and export samples without glitches.
Also tweaks some Mixer-related code to avoid related deadlocks on export.
2018-10-29 16:17:41 +09:00