508c5eb5bd
make monitor section an optional feature than can be added/removed as needed. this is a big commit, and breakage is possible. it has been moderately tested. this commit also locks the remote control ID of the master bus to 318 and the monitor section (if any) to 319. the numbers are based on MIDI Machine Control limits
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11256 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-18 01:30:44 +00:00
4b95a7912a
fix initial filling out of tempo bars|beats map after loading from XML by extending it (at least) to the last tempo/meter metric
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11255 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-17 22:32:25 +00:00
Carl Hetherington
7fcfe672c4
Fix unutterably terrible thinko in previous commit.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11254 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-17 16:54:09 +00:00
09f5369fea
add more debugging to track/spot/debug mis-use of BeatFramesConverter
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11253 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-17 05:27:22 +00:00
e2729c12a8
fix bug with tempo computation where passed in positions or offsets are negative
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11252 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-17 03:00:32 +00:00
Carl Hetherington
381346ba5f
Try to fix previous commit on 32-bit.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11248 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-14 23:32:03 +00:00
Carl Hetherington
36ec03358f
Remove thought-to-be-unnecessary setup of Delivery::_no_outs_cuz_we_no_monitor
...
at the start of each cycle; it is set up at the start of Route::process_output_buffers.
git-svn-id: svn://localhost/ardour2/branches/3.0@11247 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-14 23:31:55 +00:00
Carl Hetherington
b087721d8a
Add some debug code to time things in the process
...
thread(s).
git-svn-id: svn://localhost/ardour2/branches/3.0@11246 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-14 22:02:59 +00:00
Carl Hetherington
d4bab8aeed
Trim some lock / unlock cycles on the trigger mutex.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11245 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-14 22:02:26 +00:00
Carl Hetherington
6f795668b9
Remove unused variables.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11244 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-14 22:02:14 +00:00
Carl Hetherington
af5f57d807
Fix use of rdtsc on 64-bit (I think).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11243 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-14 22:02:07 +00:00
426cb79763
fix latency compensation for the click
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11226 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-11 14:36:46 +00:00
Carl Hetherington
39d41e46c5
Fix previous commit.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11225 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-10 23:51:47 +00:00
Carl Hetherington
08826bc432
Remove unused _process_callback method.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11223 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-10 23:39:39 +00:00
0c68a56ffb
remove some verbiage when creating audiofile sources
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11213 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-10 01:57:33 +00:00
9b99745c5a
fix auditioning (bystander casualty of monitoring fixes)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11212 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-09 22:25:18 +00:00
4306fc7aee
change config dir on OS X to ~/Library/Preferences/Ardour3
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11210 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-09 19:35:01 +00:00
34373c30f3
add MIDITrack specific ::monitoring_state() method
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11207 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-09 16:43:30 +00:00
d0d6a2015f
reduce Processor debug tag verbosity
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11206 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-09 16:43:09 +00:00
5bda71718e
remove some debug io from the Processors tag that is not really related to processors at all
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11204 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-09 16:11:40 +00:00
5f1ff657c2
another AU-specific tempo fix
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11203 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-09 16:10:59 +00:00
c57db81068
don't allow/create non-beat aligned tempo changes in response to meter changes. round the position of a tempo change the earlier beat that it would have followed according to its bar_offset value
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11199 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-08 17:19:29 +00:00
985946b1a1
fix up a few zero-boundary condition errors in TempoMap
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11196 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-08 16:53:34 +00:00
d3346d5466
tempo map debugging with dlp
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11193 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-08 16:20:54 +00:00
6b297a9928
when moving tempo and metric sections around (or adding new ones), prevent the existence of two tempo markers within the same beat, as well as two meter markers within the same bar (though i think this was prevented already by snapping meter sections to beat=1; make round_to_beats() work when dir==0 ("true rounding"); a bit of code cleanup
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11185 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-07 15:18:27 +00:00
ba00aba51c
fix positioning of grid line after a non-beat aligned tempo change
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11182 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-07 02:44:41 +00:00
6a154f9de6
a better fix for timestamping non-beat-aligned tempo changes
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11181 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-07 00:16:28 +00:00
d64d4a767d
remove extra TempoMap::dump() call
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11180 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-06 22:56:58 +00:00
c7b7cb9a31
re-adjust computation of non-beat aligned tempo change
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11179 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-06 22:50:34 +00:00
161c33a84f
adjust computation of non-beat aligned tempo change, and let TempoMap::dump() be used "wherever"
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11178 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-06 22:36:00 +00:00
28df3238c2
fix frame/beat walking to pass unit tests
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11176 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-06 20:29:41 +00:00
bfca00efd2
remove messages when tempo map is not available in RT context
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11175 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-06 20:29:18 +00:00
16063123f3
twiddle with one test explanation to help paul reason about it
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11174 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-06 20:28:40 +00:00
355183f1ab
partially revert some of the recent work on tempo to reflect new understanding of the problem. behaviour is now believed to be totally correct but awaiting a bit more testing
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11171 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-06 16:39:40 +00:00
bdb15f9422
fix some more crashes with tempo map manipulations
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11170 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-05 22:36:58 +00:00
c5205fe49f
upgrade audiounit support to use the new tempomap API
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11169 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-05 21:26:54 +00:00
9829a69549
fix over-zealous optimization in tempo map, caused crash
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11168 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-05 21:24:26 +00:00
862299120c
remove debugging output
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11167 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-05 17:42:48 +00:00
3678b7c962
make extending the tempo map O(N) in the section to be filled in, rather than O(N) in the overall length of the map, and clean up some other details
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11166 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-05 17:31:24 +00:00
63f77717d7
remove un-needed TempoMap::frame_time_rt()
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11165 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-05 15:56:14 +00:00
e0b694f630
possibly fix deadlocking issues with tempo map by rearranging code and adding RT variants for a couple of functions that would normally try to rebuild the map when necessary; instead the variants throw an exception and the RT code that called them tries to do something reasonable
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11164 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-05 05:05:31 +00:00
Carl Hetherington
4e4306d125
Use Request::Pause rather than Request::Wait for
...
Butler::wait_until_finished. Otherwise the following bad
thing happens:
1. The export code wants to call some Butler functions, so it calls
calls Butler::wait_until_finished.
2. This (used to) write Request::Wake into the butler's request pipe.
3. Imagine that when this happens, the butler is already doing stuff.
4. Meanwhile, Butler::wait_until_finished is waiting on Butler::paused.
5. Some time later, the butler finishes its other stuff.
6. Then it signals "paused".
7. This causes Butler::wait_until_finished to return, so the export code
thinks everything's ok and starts calling butler functions.
8. Then the butler sees the Request::Wake, wakes up, and by unhappy coincidence
ends up calling read on the same diskstream that the export code has just called.
This causes corruption of the Diskstream buffers, resulting in mantis #4283 .
Using Request::Pause instead means that the butler will still wake in step #8 ,
but should_run will be false, so nothing much will happen and the export code
will be unimpeded.
For future reference, this bug was easiest to track down after adding a debugging
mutex to AudioDiskstream and then try-locking it in AudioDiskstream::_do_refill;
as far as I can see, _do_refill should never be called by two threads at the
git-svn-id: svn://localhost/ardour2/branches/3.0@11163 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-04 21:07:04 +00:00
d48fd2a679
try to clean up locking issues with TempoMap
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11161 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-04 20:29:56 +00:00
f61a0d892c
fix error in framepos_{plus,minus}_bbt() which miscounted beats while stepping through bars - stops dragged MIDI notes from ending up in the wrong place, and more
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11159 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-04 18:48:32 +00:00
2858b0474e
fix (?) tricky locking issues in the tempo map by adding a second lock and independently locking the metrics and the map itself
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11157 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-04 17:55:42 +00:00
Carl Hetherington
b9a9d8d047
Use a few shared_ptrs to make things slightly neater.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11156 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-04 13:56:09 +00:00
365a8f7f14
implement TempoMap::framepos_minus_beats() using new bar|beat map structure, and fix accuracy of TempoMap::framepos_plus_bbt()
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11155 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-04 03:27:55 +00:00
b1a33855ce
use BBTPoint::is_bar() rather than ::beat == 1 ; implement TempoMap::framepos_plus_{beats,bbt}() with new map structure (not totally finished or accurate yet); prevent crash when dragging a marker to replace the initial tempo/meter markers
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11154 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-04 02:49:01 +00:00
Carl Hetherington
10d9eaf0bd
Remove unused variables.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11153 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-03 21:13:16 +00:00
Carl Hetherington
2bea7aaca5
Maybe fix initial run of tests with sources.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11152 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-03 21:13:11 +00:00