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
c85e251f0a
add operator!= for BBT_Time
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11188 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-07 17:11:17 +00:00
c9de3c5a16
add an empty ProcessorEntry before the fader if there are no pre-fader processors, to strongly visually indicate that you can insert new processors there; add back a fixed, static tooltip for the processor box
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11187 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-07 17:10:18 +00:00
68d62e8ec7
add sixteenths as note type for tempo and meter; fix cursor color, selection color etc, for tempo & meter dialogs
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11186 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-07 15:28:58 +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
5425b7773d
rest of the color change for the MIDI channel selector, missed this yesterday
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11184 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-07 15:10:54 +00:00
f1df7b125b
snap tempo marker drags to the nearest beat
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11183 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-07 15:10:31 +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
fc2b1ab500
dull down the MIDI channel selector buttons to avoid sensory overload
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11172 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-06 19:18:09 +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
c80649d913
restore correct behaviour of undo/redo for tempo map drags
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11162 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-04 20:40:06 +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
ac19bedc3d
tweak constants that affect whether/where trimming cursors are shown for MIDI notes, to avoid making it so hard to drag relatively small notes
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11160 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-04 20:29:34 +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
Carl Hetherington
783f31816c
Happy New Year
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11151 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-03 21:13:05 +00:00
Carl Hetherington
58d8b7f42f
Add valgrind option for tests.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11150 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-03 21:12:58 +00:00
Carl Hetherington
469d3b8fd7
Add TestNeedingPlaylistAndRegions
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11149 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-03 21:12:53 +00:00
43441aa924
remove duplicated test conditions
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11148 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-03 19:20:54 +00:00
bc003a539b
save 4 bytes per Bar|Beat point in the tempo map
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11147 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-03 19:03:13 +00:00
2a200bdc0e
return two iterators into the Bars|Beats list of the tempo map rather than making a copy; use iterators in the GUI
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11146 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-03 18:43:58 +00:00
0d4658e0af
more tempo fixes, including handling multiple metrics at the same place, and fixing round_to_beat_subdivision(). almost done now...
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11145 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-03 17:59:47 +00:00
19126ddc09
fix incorrect tempo test
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11144 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-03 17:58:46 +00:00
ce5de59c77
remove body of no-longer-relevant tempo-related test
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11143 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-03 17:36:40 +00:00
d6ff0e35d8
add support for -D foobar when running tests
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11142 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-03 17:36:17 +00:00
Carl Hetherington
431a30b3a9
Add notes on running unit tests.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11141 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-03 16:10:34 +00:00
Carl Hetherington
b6438ed1f6
Add TestNeedingSession and add missing tempo_test.h
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11140 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-03 16:05:25 +00:00
Carl Hetherington
dd57700445
New test.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11139 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-03 14:32:51 +00:00
Carl Hetherington
b0577f260c
More test friends.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11138 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-03 14:32:22 +00:00
Carl Hetherington
d345d44688
Reverse parameters to CPPUNIT_ASSERT_EQUAL so its assert
...
messages read the right way round.
git-svn-id: svn://localhost/ardour2/branches/3.0@11137 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-03 14:32:17 +00:00