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