If a tempo or meter marker exists immediately after the range being removed
by a 'remove time' operation, don't try to move the last marker within the
range being removed to the same position.
Ideally, TempoMap::remove_time() should do the same stuff as insert_time()
to make sure that meter changes only occur on bar lines, but that's for
another time.
cue2ddp definitely wants the bar code number *not* enclosed in quotes in
.cue files. Leave the quotes in .toc files: cdrdao definitely does need
these.
To avoid pixel jitter, the top and bottom of each line in the waveview must be computed together in a single computation,
rather than independently.
Also, remove various height corrections and cairo translations that are not necessary or relevant anymore. A subsequent
commit for the GUI will pick up on this work to get the appearance completely correct
- don't keep setting/unsetting write pass when transport frame
remains the same (think larger jack buffer sizes)
- insert guards are now 64 frames after when.
- refactor previous approach.
- clearing automation points sets control to "off" rather than touch.
- multiple touches on the same pass acts consistently (no more
fader jumps on mouse button press
- use actual value for initial point rather than some arbitrary
default. clarify new semantics of add () (with_default->with_initial).
- clean some whitespace
- add guard points as needed in stop.
- catch grab broken signal (i can't trigger it, but the docs seem
to think it is essential).
Loading a session with a loop-range, or setting
a loop-range adds LoopDeclick events.
Normal play back (no loop) never processes/clears the events.
Ardour was constantly doing split cycles for nothing.
This lead to stuck midi-notes: Split cycle calls
increment_global_port_buffer_offset() but the midi_diskstream
itself was not aware of any loop positions or offsets.
Entering loop playback adds those events explicitly
in Session::set_play_loop(). auto_loop_changed() only
needs to add/replace session-events when actively looping.
The problem was: OSX i386 builds used --dist-target=leopard
which forced the deprecated 10.5 CoreAudio API.
(build-host config has been changed now).
There is currently insufficient support in ardour’s
CoreAudioPCM::create_aggregate_device() for the old API,
COREAUDIO_108 needs to be defined or aggregate devices stop
working on OSX 10.8 or later.