13
0
Commit Graph

1512 Commits

Author SHA1 Message Date
d98c8e8fa4 Replace horribly error-prone Sequence/MidiModel/MidiSource locking API with scoped locks that automatically Do The Right Thing.
Make Sequence::read_lock const correct in the process (a read lock can be taken out on a const Sequence, but not a write lock).


git-svn-id: svn://localhost/ardour2/branches/3.0@5857 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-22 16:15:36 +00:00
2eed368c24 Sshh.
git-svn-id: svn://localhost/ardour2/branches/3.0@5856 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-22 16:14:00 +00:00
33da74c8e3 Fix MidiBuffer::merge_in_place and add aggressive correctness checking.
git-svn-id: svn://localhost/ardour2/branches/3.0@5854 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-22 14:46:47 +00:00
a7c37f6a2d Fix repeated linear search on read when cached model iterator reaches end.
git-svn-id: svn://localhost/ardour2/branches/3.0@5853 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-22 14:46:03 +00:00
7a2a37ad50 remember to reset inm1 each time around the interpolation loop
git-svn-id: svn://localhost/ardour2/branches/3.0@5852 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-22 13:29:09 +00:00
24035e24e8 Fix compilation with -DDEBUG_MIDI_CLOCK
git-svn-id: svn://localhost/ardour2/branches/3.0@5851 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-21 22:25:46 +00:00
4b01242df1 Fix failed assertion when end_write is called multiple times.
Bad logic, but oh well, doesn't hurt.


git-svn-id: svn://localhost/ardour2/branches/3.0@5850 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-21 22:21:44 +00:00
97c695735f Merge all BufferSet iterators using a single template (way less duplicatedish code).
git-svn-id: svn://localhost/ardour2/branches/3.0@5845 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-21 17:24:14 +00:00
046f802662 Fix unnecessarily type specific code, tidy, fix whitespace.
git-svn-id: svn://localhost/ardour2/branches/3.0@5844 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-21 16:56:58 +00:00
86a09c58e3 Fix O(n) search on MIDI rec region update (now O(log(n)) per update, but could be O(1) with caching...)
git-svn-id: svn://localhost/ardour2/branches/3.0@5843 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-21 16:39:39 +00:00
2c59ddede5 Fix MIDI rec regions.
git-svn-id: svn://localhost/ardour2/branches/3.0@5842 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-21 16:26:18 +00:00
20f7592fab Fix MIDI thru, though why this is any different from audio (monitoring) I don't know.
git-svn-id: svn://localhost/ardour2/branches/3.0@5837 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-21 00:53:26 +00:00
Carl Hetherington
e1980eb495 Fix creation of plugin presets.
git-svn-id: svn://localhost/ardour2/branches/3.0@5836 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-21 00:21:02 +00:00
bc56eb8bd7 Fix unused parameter warnings since GCC apparently doesn't feel like listening to -Wno-unused-parameter
git-svn-id: svn://localhost/ardour2/branches/3.0@5835 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-21 00:15:42 +00:00
af8c16cfe0 Disable excessive debug printing.
git-svn-id: svn://localhost/ardour2/branches/3.0@5834 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-21 00:00:56 +00:00
214a31bb98 Fix various MIDI control and installation issues:
* Install ardour3_ui_default.conf to system config dir

 * Set -DDATA_DIR etc. defines to proper absolute paths

 * Set default MIDI control port name to "control"
   (it was "control" some places, "default" other, so the generic MIDI
   control surface didn't work.  The real problem here is probably that
   the name is hardcoded in the surface code, ick)

 * Install surfaces to correct system directory

 * Generate and install ardour_system.rc

User POV:

 * Installed versions not run from the source directory discover configuration
   files and surfaces, and generally work

 * Building and/or starting a fresh copy of ardour3 with no pre-existing
   configuration will run an ardour with a single MIDI "control" port, which
   you can plug a surface into and control MMC and controllers and such
   (after turning on the generic MIDI surface, which IMO should be loaded
    by default anyway, especially since it's no longer in a menu)


git-svn-id: svn://localhost/ardour2/branches/3.0@5833 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-20 23:43:19 +00:00
6bef95806e Fix crash with input (not duplex) control MIDI ports.
git-svn-id: svn://localhost/ardour2/branches/3.0@5829 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-20 22:33:08 +00:00
Carl Hetherington
271f298635 Since add_property creates new XMLProperty objects, remove_property should probably delete them. Although remove_property is only used in one place in Ardour that I can see.
git-svn-id: svn://localhost/ardour2/branches/3.0@5824 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-20 18:44:44 +00:00
b488867f32 handle searching for a note in an empty note list
git-svn-id: svn://localhost/ardour2/branches/3.0@5822 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-20 12:16:30 +00:00
0def2d2d82 Tidy.
git-svn-id: svn://localhost/ardour2/branches/3.0@5821 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-20 02:26:25 +00:00
958fe26790 Tidy.
git-svn-id: svn://localhost/ardour2/branches/3.0@5820 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-20 02:17:28 +00:00
ed3b46e03b Factor out more duplicated code.
git-svn-id: svn://localhost/ardour2/branches/3.0@5819 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-20 02:14:53 +00:00
22fd9aec55 Factor out duplicated code in AudioDiskstream and MidiDiskstream.
git-svn-id: svn://localhost/ardour2/branches/3.0@5818 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-20 02:01:26 +00:00
55ba5c60b3 Implement out-of-place MidiBuffer::merge.
Completely untested.


git-svn-id: svn://localhost/ardour2/branches/3.0@5817 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-20 01:50:15 +00:00
09990dd26d Use a template to merge PortSet::iterator and PortSet::const_iterator duplicated code.
git-svn-id: svn://localhost/ardour2/branches/3.0@5816 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-20 01:32:34 +00:00
ac8b165644 Const-correct BufferSet.
git-svn-id: svn://localhost/ardour2/branches/3.0@5815 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-20 01:24:31 +00:00
61c508f3c0 Only build unit tests if configure --test is passed.
git-svn-id: svn://localhost/ardour2/branches/3.0@5814 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-20 01:07:15 +00:00
Carl Hetherington
9155aca8c2 Tidy up the popup region editor and fix a few bugs with it; should close mantis 2601 and 2602.
git-svn-id: svn://localhost/ardour2/branches/3.0@5813 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-20 01:05:33 +00:00
089d75e8a8 Whitespace.
git-svn-id: svn://localhost/ardour2/branches/3.0@5812 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-20 00:50:43 +00:00
Carl Hetherington
918fb68a03 Fix memory leak.
git-svn-id: svn://localhost/ardour2/branches/3.0@5806 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-19 17:44:20 +00:00
539a692b0e track notes at the region level in MidiPlaylist; resolve them (deliver note offs) if a note spans the end of the region
git-svn-id: svn://localhost/ardour2/branches/3.0@5804 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-19 17:05:22 +00:00
a86b994c68 Logarithmic note seek for Sequence iterator.
git-svn-id: svn://localhost/ardour2/branches/3.0@5803 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-19 16:23:08 +00:00
70ad8b059a Better test for iterator seek.
git-svn-id: svn://localhost/ardour2/branches/3.0@5802 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-19 16:14:55 +00:00
0a9b982620 Add unit test for Sequence iterator seeking.
git-svn-id: svn://localhost/ardour2/branches/3.0@5801 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-19 16:09:20 +00:00
5c1dccaca5 Use logarithmic search for MidiModel::find_note (used by DiffCommand).
git-svn-id: svn://localhost/ardour2/branches/3.0@5800 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-19 15:44:58 +00:00
a2c434d5cd Fix insane formatting/whitespace in evoral test stuff. C'mon Hans ;)
git-svn-id: svn://localhost/ardour2/branches/3.0@5799 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-19 15:26:56 +00:00
cb8407d26f Use set over vector for Sequence::Notes, for logarithmic search by time.
git-svn-id: svn://localhost/ardour2/branches/3.0@5798 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-19 15:23:42 +00:00
Carl Hetherington
7b94110c54 Add mono switch to mixer strips (mantis 1068)
git-svn-id: svn://localhost/ardour2/branches/3.0@5797 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-19 14:46:15 +00:00
16e993e514 Tidy.
git-svn-id: svn://localhost/ardour2/branches/3.0@5796 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-19 14:13:03 +00:00
8d4bf70c7e Fix set_notes prototype to use typedef.
Fix spacey tabs.


git-svn-id: svn://localhost/ardour2/branches/3.0@5795 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-19 14:08:20 +00:00
52607dd6ef Fix warnings.
git-svn-id: svn://localhost/ardour2/branches/3.0@5794 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-19 14:06:54 +00:00
69be1aa7bf fix conceptually broken cubic interpolator that failed to handle the i=0 case, and don't rely on inlining for speed there
git-svn-id: svn://localhost/ardour2/branches/3.0@5792 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-16 19:53:25 +00:00
4650d86312 more set_state() tweaks to aid with plugin state loading
git-svn-id: svn://localhost/ardour2/branches/3.0@5791 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-16 16:44:16 +00:00
f76de9afb9 another set_state() related tweak for handling 2.X sessions
git-svn-id: svn://localhost/ardour2/branches/3.0@5789 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-15 20:33:05 +00:00
1aca200a6a more set_state() tweaks to get a 2.X session to load without aborting
git-svn-id: svn://localhost/ardour2/branches/3.0@5788 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-15 19:36:48 +00:00
8713667ec1 rework Stateful::set_state() patch to avoid default version argument
git-svn-id: svn://localhost/ardour2/branches/3.0@5787 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-15 18:56:11 +00:00
Carl Hetherington
79f91c7a20 Part 1 of loading 2.X sessions; some things work, some things don't, hacks a-plenty.
LOADING 2.X SESSIONS WITH THIS COMMIT IN PLACE WILL (PROBABLY) CORRUPT THE .ardour FILE,
MAKING THE SESSION UNLOADABLE ON 2.X AND LOSING INFORMATION.

So don't do that unless you make a backup of the session file first.



git-svn-id: svn://localhost/ardour2/branches/3.0@5786 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-15 00:57:55 +00:00
39ad06f03b Fix crash on MIDI import.
git-svn-id: svn://localhost/ardour2/branches/3.0@5784 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-14 23:45:06 +00:00
12598155a2 Don't raise errors on probe.
git-svn-id: svn://localhost/ardour2/branches/3.0@5783 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-14 23:44:48 +00:00
Carl Hetherington
c17da55eaa Set the scratch bufs count up in passthru_silence, like it's done in passthru.
git-svn-id: svn://localhost/ardour2/branches/3.0@5780 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-14 22:29:33 +00:00