036390f4c2
fix potential invalid lock
2016-12-14 17:31:31 +01:00
7a1ff7ce8f
rework locking ( fa07233a
, 112fba182
)
...
For now: use a single lock, which should fix all related crashes.
optimize (with less contended partial locks) if this works.
2016-12-14 13:43:20 +01:00
f3b3a411d0
use SMF track or instrument names in imported MIDI track names, if requested
2016-12-14 11:46:26 +00:00
6ea7f37c6b
add new member to ImportStatus object to allow specifying how to name new MIDI tracks
2016-12-14 11:46:26 +00:00
721f3270c3
add a new enum to identify how SMF data should be used when naming imported MIDI tracks
2016-12-14 11:46:26 +00:00
d2fd01c241
add API to Evoral::SMF to retrieve all track/instrument names for use when importing
2016-12-14 11:46:26 +00:00
7e0dbd06db
extract track and instrument names from SMF while loading
2016-12-14 11:46:26 +00:00
24160a3b85
add braces and warning for unlikely error
2016-12-14 11:46:26 +00:00
ff6f8ca6c4
fix incorrect test for textual meta events in libsmf
2016-12-14 11:46:26 +00:00
54ef5fadc2
braces please
2016-12-14 11:46:26 +00:00
d5074be4f1
braces, please
2016-12-14 11:46:26 +00:00
8002a0c66e
free track name/instrument string memory when necessary
2016-12-14 11:46:26 +00:00
28caef7d81
add track and instrument name members to smf_track_t
2016-12-14 11:46:26 +00:00
dd525d1613
release locks before deleting record
2016-12-14 02:25:13 +01:00
112fba182f
amend prev commit
2016-12-14 00:51:40 +01:00
fa07233a17
mutex 'er up
...
Some overzealous locking to track down RequestObject related crashes.
bc0fa4d689
wrongly locked the current event loop's
request_invalidation_lock instead of the invalidation's list lock.
Also Abstract UI is able to delete requests concurrently with with
EventLoop invalidation.
e.g. PortManager::PortRegisteredOrUnregistered and GlobalPortMatrixWindow
so the lock needs to be exposed.
If this solves various issues, mutexes should to be consolidated
(request_buffer_map_lock + request_invalidation_lock) and be chosen
such that there is as little contention as possible.
2016-12-13 23:47:07 +01:00
545f5bee87
changes to adapt to modified version of GTK/Quartz which uses only MOD2 for Command, everywhere.
...
The default version of GTK2/Quartz uses MOD2+META for keys and MOD2 for scroll, which is
basically insane
2016-12-13 07:02:08 -05:00
989f934c38
Fix layered-record undo, include changes to existing region(s)
2016-12-13 02:33:07 +01:00
8276a4658a
Fix possible crash when removing ports with jack1
2016-12-12 22:47:16 +01:00
e37bfffca5
Add Slavable::AssignmentChanged signal to notify when a slavable is assigned/unassigned to/from a master
2016-12-12 18:43:55 +00:00
nick_m
e9deb82ef6
only update MidiRegion length_beats in partial copy ctor if there is an offset.
2016-12-13 04:36:07 +11:00
nick_m
a4d8cc2e04
only recalculate MidiRegion start_beats if there is an offset in the 'part-of' ctor.
...
- when drag-copying MIDI regions, a partial region ctor is used
which can lead to _start_beats being off by a sample.
this in turn leads to 7168 happening, but only if magnetic snap
is used and the regions are copied as a group.
this should fix 7168, but the magnetic snap part is not yet addressed.
2016-12-13 02:15:34 +11:00
d3803c54de
Fix a potential deadlock/crash (here tape-track peak-file)
...
read_peaks_with_fpp() already holds _lock, build_peaks_from_scratch()
takes the _lock again.
Depending on glib[mm] and the threading lib it may either result in a
deadlock, or with EDEADLK in undefined behavior when a
non-recursive lock is released twice.
2016-12-12 03:13:16 +01:00
b52bf1a42c
Fix potential deadlock on session-load
2016-12-12 00:09:38 +01:00
nick_m
e4d6e4a87f
disallow placement of audio-locked tempi within a frame of any other.
2016-12-12 02:37:26 +11:00
nick_m
9598f2a811
fix loop/crash when dragging an audio-locked tempo over a music-locked one while snapped to grid.
2016-12-12 02:07:00 +11:00
nick_m
0d7b298fbe
no-op - rename TempoMap::set_active_tempos -> TempoMap::set_active_tempi
2016-12-12 02:07:00 +11:00
nick_m
4d625d35b6
clean up some odd logic.
2016-12-12 02:07:00 +11:00
nick_m
34e41a3ca6
rename MetricSection movable -> initial, but of course initial is !movable..
2016-12-12 02:07:00 +11:00
0c54e56f96
Add support for MacVST hidden/favorites
2016-12-11 15:52:56 +01:00
nick_m
c3ab67ddb6
go back to always interpolating framed curve points.
2016-12-11 23:54:03 +11:00
nick_m
00eef2e000
make TempoMap::dump slightly more readable.
2016-12-11 23:51:00 +11:00
nick_m
d8cabc67d9
fix incorrect audio-locked tempo position when setting bbt via tempo dialog.
2016-12-11 23:49:02 +11:00
nick_m
08cec2350e
fix bar renumbering for audio-locked metrum.
2016-12-11 23:42:26 +11:00
cdbf49b873
Revert "Pixel hunt cairo-packer (status-bar, selection-clock border)"
...
This reverts commit 6015481377
.
2016-12-11 02:19:10 +01:00
6015481377
Pixel hunt cairo-packer (status-bar, selection-clock border)
2016-12-11 01:32:27 +01:00
39903a0023
Check for reserved i/o that are not routes, fixes #7171
2016-12-11 00:04:08 +01:00
642b357376
CairoPacker draws outside of its widget allocation
...
This fixes fixes TimeInfoBox packing when the InfoBox position changes.
2016-12-10 21:30:33 +01:00
1468e270de
Tweak transport icons
2016-12-10 15:56:47 +01:00
61693a318a
Add LIBPBD_API to a function declaration
...
The new specialisation for ConfigVariable<float>::set_from_string() needs to be exportable (it gets used somehow by ARDOUR::SessionConfiguration).
If adding LIBPBD_API causes a problem for gcc, we could change it to LIBPBD_TEMPLATE_MEMBER_API
2016-12-08 17:29:49 +00:00
3fe99b0c7c
remove dups.
2016-12-08 15:41:21 +01:00
975f959adb
For building with MSVC, std::strtof() didn't get introduced until VS2013
...
(use std::strtod() in earlier versions)
2016-12-08 13:57:23 +00:00
f04c1ca4db
I can't find a source file called MIDIXML.cpp (??)
2016-12-08 13:55:11 +00:00
4992ed1211
Add missing enum bindings
2016-12-08 13:21:00 +01:00
61c7af141d
Clarify "frames" (video, timecode) vs "samples" (audio)
2016-12-08 12:45:44 +01:00
f05f19bdd4
add Lua bindings for Timecode conversion
2016-12-08 12:45:44 +01:00
e1ca4b2887
Speed up recent session display (for many large sessions)
...
- don't parse XML into XMLTree
- only read the file, extract relevant elements
- don't read session-template contents, only test file
2016-12-08 10:36:12 +01:00
9a46d593cb
a-fluidsynth process events even when no sf2 is loaded.
...
Keep track of program-changes, re-apply Bank/PGM once the
soundfont is loaded. fluidsynth itself keeps track of CCs.
2016-12-07 19:48:52 +01:00
bb30d92814
amend 581c7b6
-Wparentheses
2016-12-07 19:47:29 +01:00
295562dd52
Save/Restore MIDI Automation Controls (current CC, PGM)
2016-12-07 19:47:04 +01:00