13
0
Commit Graph

23404 Commits

Author SHA1 Message Date
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
nick_m
176625d9e0 test diff for patch change performance when caching colours. 2016-12-14 04:05:08 +11:00
nick_m
c518bc3fb7 when dragging or copying multiple regions, respect position lock style.
- music-locked regions are moved by drag beat distance
	  (will conform to tempo changes over the drag distance)
	  audio-locked regions are moved by frame distance.
2016-12-14 02:08:59 +11: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
b34a614df4 Further fixes to non-cxx11 enabled builds
Hopefully all that is necessary this time
2016-12-13 17:10:30 +10:00
fced0887aa Fix for non-cxx11 enabled builds 2016-12-13 16:50:41 +10:00
0eff7d4a0c Add option to Zoom to Selection on double click
Currently implemented for Region and Range selections.

The new option is false/off by default to maintain existing behaviour. I'm not
sure it should require another option, perhaps Zoom to Selection should be the
default and accessing the region properties dialog can be via Modifier+double
click, but further changes can be made on user feedback etc.

Related: #7112
2016-12-13 13:02:04 +10:00
89623923bd Change Zoom to Selection action (Z key) to zoom on both axes
Add Zoom to Selection (Horizontal) action to access previous behavior.

Remove Editor::temporal_zoom_region as it was duplicate code and broken for
both_axes

Should Resolve: #7112
2016-12-13 12:25:03 +10: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
afa6720288 UI tweak for the spacer at the bottom of the master bus. 2016-12-12 12:16:43 -06: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
44e8181c36 only set the exact musical position of the primary region for move/copy drag. 2016-12-13 04:33:58 +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
f22d852d8c Towards making tape-tracks work again.. 2016-12-12 03:20:29 +01: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
9c5e1ffb0d sort tempo curves initially as well. 2016-12-12 02:07:00 +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
782b28a1a8 amend previous commit 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
2481db7a7f Add a small tool to experiment with libcanvas 2016-12-11 15:52:56 +01:00
nick_m
165645495c there is no need to do a full set_colors() in MidiGhostRegion ctor. 2016-12-11 23:57:50 +11:00
nick_m
22f17a3007 tempo curve fiddling. 2016-12-11 23:55:13 +11: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
dbbe65777f fix flickering in tempo curve when markers are reordered. 2016-12-11 23:46:49 +11:00
nick_m
b830ad3d66 constify TempoCurve::tempo(). 2016-12-11 23:44:25 +11:00
nick_m
08cec2350e fix bar renumbering for audio-locked metrum. 2016-12-11 23:42:26 +11:00
3cfd48f48d fix typo in 914224f 2016-12-11 04:36:29 +01: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
914224f808 Add editor actions to set tempo and meter 2016-12-10 21:30:30 +01:00
1468e270de Tweak transport icons 2016-12-10 15:56:47 +01:00
cc6f8cf321 Black selection & punch clock bg 2016-12-10 15:54:52 +01:00
1479e2d772 Fix video-monitor "sync-source" changes 2016-12-10 15:54:47 +01:00
b552ed886f Add support for Pango Markup to ArdourButton 2016-12-10 15:54:41 +01:00
6a429cfb7c Consistent ArdourButton sizing for elements with LED 2016-12-10 15:54:37 +01:00
e97404c5de Speed up recent-session display with lots of snapshots.
Given that a session can easily have >100 snapshots and one cannot change
the sample-rate anymore, it's mostly useless to parse them all.
2016-12-08 20:33:26 +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
3242bbd84c Add some doc/comments to the timecode example script 2016-12-08 15:42:11 +01:00
3fe99b0c7c remove dups. 2016-12-08 15:41:21 +01:00