13
0
Commit Graph

3630 Commits

Author SHA1 Message Date
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
8d05ed8e8a merge-in-place debugging (to be removed later)
git-svn-id: svn://localhost/ardour2/branches/3.0@11050 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-21 17:30:08 +00:00
5d509146c8 followup to the previous tempo-dragging commit: use argument to Drag::aborted() to know if we moved; update the frame position of tempo map metrics when we remove a tempo mark (should fix visual glitches when dragging tempo)
git-svn-id: svn://localhost/ardour2/branches/3.0@11049 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-21 14:21:05 +00:00
24a29f61d9 provide config parameter to allow non-quarter note pulses; off by default; no GUI to reset it at this point
git-svn-id: svn://localhost/ardour2/branches/3.0@11046 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-21 02:33:38 +00:00
Carl Hetherington
7dffe671da Now that notify_length_changed() just calls
ContentsChanged, its callers can be removed or changed
to just notify_contents_changed.


git-svn-id: svn://localhost/ardour2/branches/3.0@11024 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-20 02:03:44 +00:00
Carl Hetherington
3c8786f45b Remove LengthChanged that no-one was listening to.
git-svn-id: svn://localhost/ardour2/branches/3.0@11023 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-20 02:03:38 +00:00
e9b4f14668 rename Timecode::BBT_Time::ticks_per_beat to Timecode::BBT_Time::ticks_per_bar_division which is a more accurate and informative name. The number doesn't describe the smallest division of a "beat" (which is only defined contextually anyway), but rather the smallest division of the the divisions of a bar. If using a meter of 4/8, there are 4 divisions per bar, and we can divide each one into ticks_per_bar_division pieces; in a separate meter (section) of 3/8, there are 3 divisions per bar, each of which can be divided into ticks_per_bar_division_pieces.
git-svn-id: svn://localhost/ardour2/branches/3.0@11022 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-19 19:44:43 +00:00
71bba8053e fix a number of errors with BBT time computations, mostly notably ones related to tempo-only change
git-svn-id: svn://localhost/ardour2/branches/3.0@11020 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-19 18:32:06 +00:00
Carl Hetherington
f97091105d Remove unused code.
git-svn-id: svn://localhost/ardour2/branches/3.0@11018 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-17 18:46:54 +00:00
Carl Hetherington
39f765614a Clear up confusion with overloads of _frozen and frozen()
meaning different things.


git-svn-id: svn://localhost/ardour2/branches/3.0@11016 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-17 16:37:18 +00:00
Carl Hetherington
85b75a0ab1 Remove unused code.
git-svn-id: svn://localhost/ardour2/branches/3.0@11015 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-17 02:05:04 +00:00
Carl Hetherington
6c575f1385 Make a fair bit of Region's interface private.
git-svn-id: svn://localhost/ardour2/branches/3.0@11014 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-17 02:04:58 +00:00
3d859a5ac6 update position of tempo map metrics when a meter marker is removed
git-svn-id: svn://localhost/ardour2/branches/3.0@11013 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-16 15:58:39 +00:00
Carl Hetherington
5f4a276ad0 Add warning if a duplicate Linux VST plugin is rejected.
git-svn-id: svn://localhost/ardour2/branches/3.0@11012 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-15 22:27:15 +00:00
Carl Hetherington
084cd5ffda Add basic test of playlist layering.
git-svn-id: svn://localhost/ardour2/branches/3.0@11011 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-15 14:33:20 +00:00
96585e532c send sustain=off and all-notes-off when a MIDI track is muted (may fix #4295)
git-svn-id: svn://localhost/ardour2/branches/3.0@11005 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-14 17:17:30 +00:00
60872a8504 get Delivery to disconnect from any signals it is connected to relatively early in its destructor, so that it is not possible to call Delivery::cycle_start() and encounter a partially formed Delivery-derived object. may fix a crash that geoff beasley has seen with jack2
git-svn-id: svn://localhost/ardour2/branches/3.0@11004 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-14 17:08:57 +00:00
dcccd5b4d6 patch from roy vegard to stop feedback from causing jumps when a MIDI controller and ardour are out of sync
git-svn-id: svn://localhost/ardour2/branches/3.0@11001 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-14 15:57:48 +00:00
88d49cdb57 fix up mess with unassigned Playlist::orig_track_id
git-svn-id: svn://localhost/ardour2/branches/3.0@10998 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-13 16:52:33 +00:00
Carl Hetherington
9f897d097a Remove meter from beats calculations now that it is no
longer important.


git-svn-id: svn://localhost/ardour2/branches/3.0@10997 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-13 11:05:52 +00:00
08c7f0b2bc fix up XML property name for Meter::beats_per_bar (w/backward compat)
git-svn-id: svn://localhost/ardour2/branches/3.0@10996 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-13 02:53:14 +00:00
e0cf3b6354 more fun and games with meter and the tempo map: rename Meter::beats_per_bar() to Meter::divisions_per_bar() so that its clear(er) on what it is actually returning; use Meter::divisions_per_bar() in more (all?) places that need it; fix up dragging meter marks by removing the relevant meter section from the map while we drag; operator<< for some tempo-related objects
git-svn-id: svn://localhost/ardour2/branches/3.0@10995 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-13 02:46:36 +00:00
Carl Hetherington
56c33f0202 Always set up _last_position on set_position_internal so that the playlist range movement code doesn't get confused when we have region move notifications where the region doesn't actually move (should fix #4557).
git-svn-id: svn://localhost/ardour2/branches/3.0@10992 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-12 23:39:09 +00:00
4a0c798242 fundamentally alter how we compute frames_per_beat(). this follows much discussion on IRC. fundamentally, tempo and ONLY tempo affects the computation of frames_per_beat(), meter has no effect at all. However, following typical DAW conventions, we continue to want the "grid" to show metric divisions, not fixed beats, so add a new method (Meter::frames_per_division()) that retains the old math which takes meter into account. This commit will alter the behaviour of MIDI notes in any session with multiple time signatures. They will likely break. Unfortunately, there is no alternative to this breakage at this time.
git-svn-id: svn://localhost/ardour2/branches/3.0@10988 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-12 14:00:44 +00:00
Carl Hetherington
a107b95307 Set up region BBT time when frame position changes, if the region is glued to BBT; fixes part of #4257.
git-svn-id: svn://localhost/ardour2/branches/3.0@10986 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-12 02:50:47 +00:00
Carl Hetherington
748b24009b Similar hacks to framepos_minus_beats to handle -ve
positions as were appled to framepos_plus_beats.


git-svn-id: svn://localhost/ardour2/branches/3.0@10984 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-11 21:14:35 +00:00
Carl Hetherington
73a91402cd Save templates as directories with plugin state, if
there is any, and copy that state to sessions created
from those templates.  Should fix #4525.  Breaks
existing session templates, sorry; they can be fixed by
moving the .template file into a new directory with the
name of the template (minus the .template).


git-svn-id: svn://localhost/ardour2/branches/3.0@10982 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-11 20:38:42 +00:00
Carl Hetherington
a03f3229f4 Minor fix to error message.
git-svn-id: svn://localhost/ardour2/branches/3.0@10981 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-11 20:38:31 +00:00
Carl Hetherington
b5478a8a2b Clarify stop-at-session-end behaviour; should fix #4033.
git-svn-id: svn://localhost/ardour2/branches/3.0@10978 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-11 16:26:03 +00:00
Carl Hetherington
1bbe08af1a Keep track of MIDI region's start positions in beats, to
match the source, so that starts are not corrupted when
tempos change (#4494).


git-svn-id: svn://localhost/ardour2/branches/3.0@10976 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-11 14:50:36 +00:00
Carl Hetherington
ed360080d0 Sessions loaded from 2.X don't have a diskstream (yet)
in Track::set_state(); prevent a crash, at least; not
100% sure if the behaviour is right, though.


git-svn-id: svn://localhost/ardour2/branches/3.0@10975 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-11 14:14:17 +00:00
Carl Hetherington
e3b4fa678d Fix framewalk_to_beats when it traverses more than one
metric change.


git-svn-id: svn://localhost/ardour2/branches/3.0@10970 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-10 20:23:59 +00:00
d23a6de077 fix for most (all? we can dream ...) issues involved in #4399 (editing multiply-applies operations to playlists used more than once), and as a side-issue, fix playlist selection which broke when we hid Diskstreams inside Tracks by using orig_track_id() rather than orig_diskstream_id()
git-svn-id: svn://localhost/ardour2/branches/3.0@10968 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-10 19:20:15 +00:00