13
0
Commit Graph

3862 Commits

Author SHA1 Message Date
Sakari Bergen
0bede516be Fix export threading timeouts when disk operations take long. Might fix other timeout issues also.
git-svn-id: svn://localhost/ardour2/branches/3.0@11317 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-23 18:54:13 +00:00
Carl Hetherington
a71172feb2 Trim calls to parameter_count() a bit during the process
thread.


git-svn-id: svn://localhost/ardour2/branches/3.0@11316 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-23 18:17:09 +00:00
Carl Hetherington
9b4f0f7242 Cache results of lilv_port_is_a(...) in various places.
git-svn-id: svn://localhost/ardour2/branches/3.0@11315 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-23 18:02:22 +00:00
9c6ef3788c escape \ as \034 in TOC files
git-svn-id: svn://localhost/ardour2/branches/3.0@11314 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-23 17:24:34 +00:00
cbaa0d472e fix up escaping of strings in TOC files (suggested by andreas ruge)
git-svn-id: svn://localhost/ardour2/branches/3.0@11313 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-23 17:16:53 +00:00
Carl Hetherington
d999895018 Add another profiling session.
git-svn-id: svn://localhost/ardour2/branches/3.0@11312 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-23 17:16:53 +00:00
Carl Hetherington
f0ff841d01 Tidy a few things up.
git-svn-id: svn://localhost/ardour2/branches/3.0@11311 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-23 16:03:08 +00:00
Carl Hetherington
62304d57c6 Basic process thread profiling code.
git-svn-id: svn://localhost/ardour2/branches/3.0@11310 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-23 15:01:08 +00:00
Carl Hetherington
61c57e7c4d Optimisation; it is much cheaper to run UnknownProcessor on the
rare occasions that it exists rather than dcasting every processor
to check for it.  Also put the dcast of PeakMeter off if possible.


git-svn-id: svn://localhost/ardour2/branches/3.0@11309 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-23 14:53:25 +00:00
Sakari Bergen
8e98352b6c Add toc and cue information to export format descriptions
git-svn-id: svn://localhost/ardour2/branches/3.0@11306 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-22 18:07:53 +00:00
Sakari Bergen
09d1fbd6c1 Add warnings for overwriting marker files
git-svn-id: svn://localhost/ardour2/branches/3.0@11305 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-22 18:02:27 +00:00
Carl Hetherington
e317386c5c For now, only use the multi-threaded process code if we are
using >1 processor for DSP; this involves making the DSP
use setting only take effect on a restart of Ardour.


git-svn-id: svn://localhost/ardour2/branches/3.0@11302 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-22 12:28:49 +00:00
Carl Hetherington
9080c672a5 Patch from anrug to always put a PERFORMER field in TOC
files (#4649).


git-svn-id: svn://localhost/ardour2/branches/3.0@11299 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-22 10:43:37 +00:00
Carl Hetherington
b447024c32 Add option to use plugin GUIs or Ardour generic ones.
git-svn-id: svn://localhost/ardour2/branches/3.0@11298 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-22 10:18:37 +00:00
Carl Hetherington
c95b34642f Use a button in the processor box for toggle parameters.
git-svn-id: svn://localhost/ardour2/branches/3.0@11297 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-21 22:54:36 +00:00
Carl Hetherington
4381b590bb Reinstate user Controllable values, as they are needed
for gain (which I forgot about).


git-svn-id: svn://localhost/ardour2/branches/3.0@11293 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-21 16:38:56 +00:00
Carl Hetherington
a8bb49e5d8 Add a send amp's gain control as a send controllable.
Tweak AutomationControl now that PBD::Controllable has
a default implementation of user_to_ui and ui_to_user. 
Add correct implementations of these methods to
Amp::GainControl.  Hence allow SendProcessorEntry to
use the generic mini-fader-adding code from
ProcessorEntry.


git-svn-id: svn://localhost/ardour2/branches/3.0@11292 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-21 16:38:45 +00:00
Carl Hetherington
17e6f1952e Remove unused code.
git-svn-id: svn://localhost/ardour2/branches/3.0@11289 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-21 02:42:53 +00:00
Carl Hetherington
5a53f2f1b9 Simple approach to putting plugin controls into the
processor box.


git-svn-id: svn://localhost/ardour2/branches/3.0@11288 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-20 18:02:48 +00:00
Carl Hetherington
d03d0363a4 Remove unused concept of user' values. Make user_to_ui
and ui_to_user virtual members of PBD::Controllable.


git-svn-id: svn://localhost/ardour2/branches/3.0@11286 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-20 18:02:36 +00:00
052a0785b5 slightly more efficient implementation of Graph::in_process_thread()
git-svn-id: svn://localhost/ardour2/branches/3.0@11278 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-20 14:35:02 +00:00
facd8b2d90 reverse prior commit, which causes a deadlock between IO::enable_connecting() and Route::add_send_to_internal_return() - issue needs a fix
git-svn-id: svn://localhost/ardour2/branches/3.0@11277 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-20 14:34:47 +00:00
77f9a1e75c fix an assert failure due to incorrect process locking when adding a send
git-svn-id: svn://localhost/ardour2/branches/3.0@11275 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-20 13:47:08 +00:00
cc5e8d41da patch from colinf to make dbl-click on send "box" map its controls to the strip; remove related stub functions from ProcessorBox; fix crash when removing send due to the process lock not being held
git-svn-id: svn://localhost/ardour2/branches/3.0@11274 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-20 03:39:45 +00:00
65c8d673a2 restore ability to create TOC and CUE files during export. this is an option in a given export format, not a per-export choice. so you need export formats with them set (or not) in order to utilize this choice. the resulting CUE/TOC files have not been checked with a burner (e.g. cdrdao) and testing of them would be appreciated - i (paul) have no CD burner h/w
git-svn-id: svn://localhost/ardour2/branches/3.0@11266 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-18 21:56:06 +00:00
759f1216af fix reload of session with new send naming in place, drop "aux-" prefix from name of aux sends
git-svn-id: svn://localhost/ardour2/branches/3.0@11264 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-18 18:37:26 +00:00
9524b08752 fix two major assert failures arising from the optional monitor section commit; separate numbering of aux sends, sends and listens to fix #3671 (still testing, but the assert failures are critical)
git-svn-id: svn://localhost/ardour2/branches/3.0@11263 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-18 17:51:57 +00:00
Carl Hetherington
9237c7411c Catch exception thrown by SMF code when it cannot write
to a file (#4640).


git-svn-id: svn://localhost/ardour2/branches/3.0@11259 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-18 02:10:40 +00:00
567153e4fb new file, a small idea
git-svn-id: svn://localhost/ardour2/branches/3.0@11257 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-18 01:34:53 +00:00
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
d51f3e34b4 complete the do-not-free-data-from-getmntinfo() fix
git-svn-id: svn://localhost/ardour2/branches/3.0@11232 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-11 18:14:18 +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
e7bb933477 fix nasty memory-related crashes caused by not noticing a bug in getmntinfo() on OS X, which disallows free()-ing memory allocated by that function
git-svn-id: svn://localhost/ardour2/branches/3.0@11211 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-09 22:02:10 +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
Carl Hetherington
9b975dce38 Fix typo.
git-svn-id: svn://localhost/ardour2/branches/3.0@11202 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-09 01:59:52 +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
0ddff57b50 sort debug options
git-svn-id: svn://localhost/ardour2/branches/3.0@11194 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-08 16:38:49 +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
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
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
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
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
Carl Hetherington
e11c96019a Fix erroneous test.
git-svn-id: svn://localhost/ardour2/branches/3.0@11136 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-03 14:32:12 +00:00
Carl Hetherington
279d0ff34b Remove unused variables.
git-svn-id: svn://localhost/ardour2/branches/3.0@11135 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-03 14:32:07 +00:00
Carl Hetherington
c9ed7d2402 Fix test build.
git-svn-id: svn://localhost/ardour2/branches/3.0@11134 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-03 14:32:01 +00:00
Carl Hetherington
c252d65f56 Reverse parameters to CPPUNIT_ASSERT_EQUAL so its assert
messages read the right way round.


git-svn-id: svn://localhost/ardour2/branches/3.0@11133 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-03 14:31:55 +00:00
Carl Hetherington
8be724db1b Use the correct flag for DAZ and default to using FTZ and DAZ denormal protection.
git-svn-id: svn://localhost/ardour2/branches/3.0@11132 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-02 23:52:28 +00:00
f135947606 intermediate commit as all tempo/meter stuff starts to walk the precompute Bars|Beats list. Still have ::round_to_beat_subdivision() to fix. haven't really done any thorough testing at this point, but basic stuff seems OK
git-svn-id: svn://localhost/ardour2/branches/3.0@11131 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-02 23:32:33 +00:00
69c7dac1a1 new approach to tempo/meter: compute and store the entire map (every bar|beat point), thus enabling us to use the same computation to set the BBT points AND the metric markers (tempo + meter) on the audio timeline. It is known that snapping to the BBT grid doesn't work correctly right now, but this probably caused by the separate code in TempoMap::round_to_type() and i'll dig into that tomorrow. Note that the Bar|beat point list is evaluated "lazily" - we'll never store more than anyone actually needs to display or know, other than 1 minute's worth starting from frame zero
git-svn-id: svn://localhost/ardour2/branches/3.0@11129 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-02 04:04:14 +00:00
Carl Hetherington
6c0224c987 Emit notify_layering_changed() more often; especially when we remove the only region on a top layer, and the StreamView needs to sort itself out.
git-svn-id: svn://localhost/ardour2/branches/3.0@11126 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-31 13:25:50 +00:00
Carl Hetherington
9c8a27c664 Don't round control list events when x-scaling them; prevents large loss of accuracy with xfades when they are scaled to be small and then expanded again (#4602).
git-svn-id: svn://localhost/ardour2/branches/3.0@11125 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-31 13:25:29 +00:00
Carl Hetherington
b93254f275 Anywhere that deletes regions needs to use a rdiff() on the playlist
for the undo history, so that changes to regions' layering_index
get stored in the undo record.  Make Playlist::update use add_region_internal
so that undone regions don't have their layering_index corrupted.
Setup layering indices on relayer() so that deletion of regions
causes an update.


git-svn-id: svn://localhost/ardour2/branches/3.0@11123 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-30 23:41:17 +00:00
Carl Hetherington
0be530821c Debug code.
git-svn-id: svn://localhost/ardour2/branches/3.0@11122 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-30 23:41:11 +00:00
Carl Hetherington
dd53e7284a Set up layering_index immediately on an explicit layer, so that undo
works properly.  Stop the layer being a stateful property, as it is
always derived from layering_index, unambigiously, by relayer().


git-svn-id: svn://localhost/ardour2/branches/3.0@11120 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-30 20:05:48 +00:00
Carl Hetherington
2c23ff8ceb Add assert.
git-svn-id: svn://localhost/ardour2/branches/3.0@11119 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-30 20:05:40 +00:00
21d4eb56d4 fix default response behaviour of Gtkmm2ext::Prompter (from colinf)
git-svn-id: svn://localhost/ardour2/branches/3.0@11112 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-30 01:41:21 +00:00
Carl Hetherington
b177514930 Revert internals of the last layering-related commit, and go back a slightly-cleaned-up version of how it was before. Remove all layering modes; only option now is add-is-higher. Move-add-higher could easily be re-added if anyone uses it.
git-svn-id: svn://localhost/ardour2/branches/3.0@11111 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-29 22:14:15 +00:00
cabb76cce6 clean up comments and commented code
git-svn-id: svn://localhost/ardour2/branches/3.0@11110 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-29 21:40:20 +00:00
07750ccb32 next iteration of tempo map stuff - fixes off-by-one issues with bar offset<->beat math
git-svn-id: svn://localhost/ardour2/branches/3.0@11109 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-29 21:34:46 +00:00
a85e0b0a2e a huge set of changes to tempo+meter handling. testing feedback requested. the_CLA, you know who i mean :)
git-svn-id: svn://localhost/ardour2/branches/3.0@11103 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-28 21:02:31 +00:00
c3a52084f8 new DEBUG_ENABLED(bits) macro, potentially useful here and there
git-svn-id: svn://localhost/ardour2/branches/3.0@11102 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-28 21:01:52 +00:00
Carl Hetherington
0d46ad4ca5 Remove unused variable.
git-svn-id: svn://localhost/ardour2/branches/3.0@11101 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-28 18:55:25 +00:00
Carl Hetherington
f440f91849 Try to make new layering stuff play nicely with undo.
git-svn-id: svn://localhost/ardour2/branches/3.0@11097 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-27 20:21:00 +00:00
Carl Hetherington
86cb9348e8 Hack around one case where satisfying all constraints in a
relayer is impossible.


git-svn-id: svn://localhost/ardour2/branches/3.0@11096 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-27 19:10:31 +00:00
Carl Hetherington
78c4324026 More debugging.
git-svn-id: svn://localhost/ardour2/branches/3.0@11095 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-27 18:34:05 +00:00
Carl Hetherington
1ac41882d3 Improve debug slightly and fix raise/lower.
git-svn-id: svn://localhost/ardour2/branches/3.0@11094 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-27 18:33:59 +00:00
Carl Hetherington
2db69318ce Fix up confusion with relayering after movement drags in
overlaid mode.


git-svn-id: svn://localhost/ardour2/branches/3.0@11092 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-27 18:33:49 +00:00
Carl Hetherington
8f46200449 Basic DEBUG_TRACE for layering code.
git-svn-id: svn://localhost/ardour2/branches/3.0@11091 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-27 16:29:40 +00:00
Carl Hetherington
6304261b98 Re-work layering in possibly debatable ways. Sketchy docs in doc/layering.
git-svn-id: svn://localhost/ardour2/branches/3.0@11088 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-27 01:42:49 +00:00
Carl Hetherington
0082e3364f Remove some wrongly commited stuff. Sorry\!
git-svn-id: svn://localhost/ardour2/branches/3.0@11087 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-27 00:57:20 +00:00
Carl Hetherington
dfc3078013 Add configure option to raise a FP exception when a denormal
is detected.


git-svn-id: svn://localhost/ardour2/branches/3.0@11086 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-27 00:48:31 +00:00
Carl Hetherington
d771ca6b0e Move patch changes when inserting silence at the start of a model.
git-svn-id: svn://localhost/ardour2/branches/3.0@11084 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-27 00:22:21 +00:00
a556546291 explain MXCSR shenanigans in libs/pbd/fpu.cc
git-svn-id: svn://localhost/ardour2/branches/3.0@11079 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-26 22:32:21 +00:00
5f88b44245 (1) do not write sequential same-value automation data into a ControlList (2) thin AutomationList data when reloading from disk (similar code as Ben's from ardour 2.X, but without user-adjustable thinning density at present). Should fix #4583 and maybe others caused by NaN's occuring from zero-slope lines
git-svn-id: svn://localhost/ardour2/branches/3.0@11078 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-26 22:13:54 +00:00
Carl Hetherington
773d20f330 Fix warnings during test runs.
git-svn-id: svn://localhost/ardour2/branches/3.0@11077 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-26 19:01:57 +00:00
Carl Hetherington
0fb091dc20 Clean up session after test.
git-svn-id: svn://localhost/ardour2/branches/3.0@11076 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-26 17:51:03 +00:00
Carl Hetherington
d95f6c7538 Remove unused method.
git-svn-id: svn://localhost/ardour2/branches/3.0@11075 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-26 17:50:53 +00:00
5558b3cf06 a grab bag of changes correcting and improving the way MIDI note on/off tracking is done. may/should fix a number of problem with spurious note-offs under a variety of circumstances
git-svn-id: svn://localhost/ardour2/branches/3.0@11074 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-26 17:01:31 +00:00
Carl Hetherington
bda0f938fb Tidy up monitoring slightly so that it matches oofus' truth
table for the various different states.  Should fix #4533.


git-svn-id: svn://localhost/ardour2/branches/3.0@11073 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-26 15:37:14 +00:00
Carl Hetherington
0dbc0429a8 Comments.
git-svn-id: svn://localhost/ardour2/branches/3.0@11070 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-26 12:50:24 +00:00
ddb1f52352 remove overly-floodish debug message from MidiTrackers trace
git-svn-id: svn://localhost/ardour2/branches/3.0@11068 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-23 19:20:52 +00:00
Carl Hetherington
2858e239f4 Rename a few bits and fix a undeclared method.
git-svn-id: svn://localhost/ardour2/branches/3.0@11066 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-23 01:38:38 +00:00
Carl Hetherington
b7688699ef Remove unused declaration.
git-svn-id: svn://localhost/ardour2/branches/3.0@11065 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-23 01:38:32 +00:00
Carl Hetherington
d8a9f64bbc Clarify ensure vs. request for JACK monitoring, naming-wise.
git-svn-id: svn://localhost/ardour2/branches/3.0@11064 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-23 01:11:46 +00:00
Carl Hetherington
15aa81fe70 Match request in function names to the eventual call to jack_port_request_monitor.
git-svn-id: svn://localhost/ardour2/branches/3.0@11063 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-23 01:11:41 +00:00
Carl Hetherington
d26260f51d Do some renaming in the ARDOUR::Port class tree.
git-svn-id: svn://localhost/ardour2/branches/3.0@11062 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-23 00:26:25 +00:00
Carl Hetherington
66532c0519 Remove unused header.
git-svn-id: svn://localhost/ardour2/branches/3.0@11061 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-22 23:50:08 +00:00
Carl Hetherington
74df4e2d91 Remove unused declaration.
git-svn-id: svn://localhost/ardour2/branches/3.0@11060 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-22 23:41:59 +00:00
d2dd80807c more tempo-related AU changes
git-svn-id: svn://localhost/ardour2/branches/3.0@11059 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-22 21:07:04 +00:00
ceaf76b505 switch over audio_unit.cc to use divisions_per_bar() not beats_per_bar(). not sure how this was missed
git-svn-id: svn://localhost/ardour2/branches/3.0@11058 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-22 20:48:37 +00:00
ed2beaffee main fix: when transport stops, clear per-region per-playlist note trackers even if there is no capture data to process; side effects: remove unused MidiBuffer::merge() and add DEBUG::MidiTrackers as well as more and better MIDI debug tracing facilities
git-svn-id: svn://localhost/ardour2/branches/3.0@11057 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-22 20:14:47 +00:00
2449a787c5 fix a build issue in Evoral that was preventing Sequencer<T>::dump() from being available, and expose operator<< for Sequence<T>
git-svn-id: svn://localhost/ardour2/branches/3.0@11054 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-22 02:09:39 +00:00
8ab4703173 remove extraneous debugging output from MidiBuffer::merge_in_place()
git-svn-id: svn://localhost/ardour2/branches/3.0@11053 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-21 19:56:40 +00:00
642ab99db8 reorganize MidiBuffer::merge_in_place() to cover the cases i wasn't thinking about and be more logical to anyone else
git-svn-id: svn://localhost/ardour2/branches/3.0@11052 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-21 19:33:41 +00:00
302ac289ba likely fix for crash in MidiBuffer::merge_in_place() due to unwarranted assumption in the code
git-svn-id: svn://localhost/ardour2/branches/3.0@11051 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-21 18:10:58 +00:00