13
0
Commit Graph

553 Commits

Author SHA1 Message Date
bc34d6f731 'libs/evoral' - For each of the NNNN_lower_bound() functions (3 in total) add a non-const iterator to supplement the existing const_iterator 2013-07-23 07:56:30 +01:00
af51ef383d 'libs/evoral' - Through a compiler extension gcc can implement an array whose size in not known at compile time. MSVC doesn't have this extension. Therefore, use std::vector instead 2013-07-23 07:53:57 +01:00
f9b99edc4a 'std::isnan' is not available in MSVC (at least, not VC8) 2013-07-23 07:50:25 +01:00
453ed61c4a 'libs/evoral' - cast the returned pointers from malloc() / g_ptr_array_index() etc, as needed to satisfy MSVC 2013-07-23 07:47:10 +01:00
1cb37fc11c Remove an unnecessary #include that prevents 'libs/evoral' from building with MSVC (more evoral changes to follow) 2013-07-23 07:43:48 +01:00
650964f320 Merge branch 'master' into windows 2013-07-17 08:05:59 -04:00
Michael R. Fisher
65eb0b845f Include evoral/Note.hpp before pbd/compose.h
- This workaround prevents a clang compiler error about template
  visibility
2013-07-15 22:57:34 -05:00
Michael R. Fisher
5e739dbfc1 Typo fixed: call class method instead of trying to use as a variable 2013-07-15 22:57:34 -05:00
350bd56a06 Fix evoral test to compile with mingw 2013-07-11 13:03:55 -04:00
2b9f50ffc7 include winsock2.h on windows in libsmf for htons/l etc. 2013-07-11 13:03:24 -04:00
cc960c4f07 remove executable mode-bit from files 2013-06-16 21:54:08 +02:00
f04c35cb1c reduce verbosity of DEBUG::Sequence traces 2013-05-02 10:11:31 -04:00
e510aed38d fix reversed semantics from 86f1b for LaterNoteEndComparator() 2013-04-03 14:10:33 -04:00
04cba6eca0 fix (?) behaviour when punching into automation write mode while the transport is moving, hopefully without breaking anything else 2013-04-02 16:10:51 -04:00
3b20beb8d8 Merge branch 'patches' of https://github.com/jdekozak/ardour 2013-03-29 14:18:08 -04:00
86f1b8c71f major fixes for MIDI patch change and note undo/redo. Patch change handling was completely broken because of the use of absolute floating point comparisons for time comparison, and serialization/deserialization of patch change property changes was borked because of int/char conversions by stringstream. Note undo/redo would fail for note removal if a note had been moved and/or had its note number changed as the next operation after it was added, because time-based lookup would fail. Similar small changes made for sysex messages, which just needed the musical_time comparisons and nothing else 2013-03-29 11:52:25 -04:00
Julien de Kozak
16f8fc0657 Fix some compilation warnings 2013-03-23 14:50:58 +01:00
fa8d0268eb Fix compilation with --test.
Make midnam test suite pass again.

The Ardour test suite does not pass.  I commented out old crossfade stuff, but
I am not familiar enough with the parts that fail to fix it.  It might be a
good idea for someone to look into this.  Ideally we'd have the test integrated
into everyone's workflow, but they add quite a few files to compile...


git-svn-id: svn://localhost/ardour2/branches/3.0@13931 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-20 18:23:42 +00:00
fc77ae0738 Replace a bunch of potential crashes with graceful handling of the situation.
We really need some kind of more sophisticated assert macro that can be
switched to non-fatal logging mode for release builds.  A log message, which is
often all that would happen, is a lot better than a trainwrecked performance...


git-svn-id: svn://localhost/ardour2/branches/3.0@13892 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-19 07:00:43 +00:00
5b9bd3eea0 control lists should use the default value of their parameter, not zero (noticeable for pitchbend)
git-svn-id: svn://localhost/ardour2/branches/3.0@13844 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-15 15:00:37 +00:00
18f465393b remove use of a boost::fast_pool_allocator without a mutex for Evoral::ControlList. this was not thread-safe and evidence from googling around suggests that it is actually not faster for this sort of use than std::alloc. removing this fixes bizarre errors caused by multithreaded use of the singleton pool that backs the allocator, which started to become more clear during experiments on 128 track sessions
git-svn-id: svn://localhost/ardour2/branches/3.0@13672 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-17 18:41:58 +00:00
24917e4c9e disable spline interpolation for curves - use linear interpolation; configuration parameter pending for this, plus slightly cleaner reuse of existing ControlList methods
git-svn-id: svn://localhost/ardour2/branches/3.0@13627 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-09 17:24:58 +00:00
d7716b055c fix automation/control list behaviour when manually adding a point within existing data
git-svn-id: svn://localhost/ardour2/branches/3.0@13619 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-08 17:57:47 +00:00
8ecabd0d37 remove debugging output; properly handle cases in Curve::_get_vector() where the entire requested range for the vector is either before the first point in the curve (unlikely to happen because we typically add a guard point at zero) or entire after the last point in the curve
git-svn-id: svn://localhost/ardour2/branches/3.0@13582 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-02 00:23:03 +00:00
9e84a2f931 still more debugging output
git-svn-id: svn://localhost/ardour2/branches/3.0@13581 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-30 23:49:59 +00:00
bad34d7ded still more debugging output
git-svn-id: svn://localhost/ardour2/branches/3.0@13580 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-30 23:42:48 +00:00
776eb23e8b still more debugging output
git-svn-id: svn://localhost/ardour2/branches/3.0@13579 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-30 23:38:15 +00:00
202788ea18 more debugging output
git-svn-id: svn://localhost/ardour2/branches/3.0@13578 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-30 23:28:47 +00:00
6242371388 debugging output
git-svn-id: svn://localhost/ardour2/branches/3.0@13577 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-30 23:21:12 +00:00
8a819a80d0 add reverse iterator to event list (prepare x-fade fix)
git-svn-id: svn://localhost/ardour2/branches/3.0@13571 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-30 15:51:05 +00:00
b73d9b585f fix prev commit (stupid C++ needs explicit typecast)
git-svn-id: svn://localhost/ardour2/branches/3.0@13529 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-18 21:48:29 +00:00
ba7f951919 prevent subveclen to wrap at 2^31
fixes http://pastebin.com/X629ZE7F (Timecode 22h @48k, 512fpp)

git-svn-id: svn://localhost/ardour2/branches/3.0@13528 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-18 21:22:58 +00:00
a0f00d7d22 add a "guard" point after a write/touch automation insertion, preserving the shape of the later segment of the existing line
git-svn-id: svn://localhost/ardour2/branches/3.0@13507 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-15 16:22:43 +00:00
bb9ab696b1 likely fixes for most remaining issues with data in automation/control lists, but more testing needed
git-svn-id: svn://localhost/ardour2/branches/3.0@13497 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-14 15:06:41 +00:00
Hans Baier
e36c855464 issue 0005121: added comment to source. Sorry, last commit was for issue 0005121, not 0005120, copied from the wrong line :[
git-svn-id: svn://localhost/ardour2/branches/3.0@13252 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-12 06:04:06 +00:00
Hans Baier
2625fd9be8 fix issue 0005120: dont treat percussive mode differently than sustained mode except in GUI. Leaving out all note offs crashes LinuxSampler and totally drowns my Yamaha PSR-S900 by stealing all its available voices. Code is #ifdef-ed out until a more thorough discussion would conclude the removal of percussive mode from the MIDI model, which IMHO makes sense. I don't see any virtue in leaving out note offs since it only creates problems.
git-svn-id: svn://localhost/ardour2/branches/3.0@13251 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-12 05:58:47 +00:00
Hans Baier
97c23848d7 implement deleting of sysex events
git-svn-id: svn://localhost/ardour2/branches/3.0@13238 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-11 03:22:17 +00:00
2b1cc9656e remove incorrect and unnecessary template class declaration from Evoral (added recently)
git-svn-id: svn://localhost/ardour2/branches/3.0@13230 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-10 15:42:47 +00:00
Hans Baier
3f5c6f8190 enable and extend EVORAL_MIDI_XML. Useful for Debugging. Any objections?
git-svn-id: svn://localhost/ardour2/branches/3.0@13223 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-10 04:31:59 +00:00
Hans Baier
c3850cfb35 evoral/MIDIEvent: Whitespace cosmetics in header, make XML output work properly eg show the numbers instead of blanks
git-svn-id: svn://localhost/ardour2/branches/3.0@13221 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-09 08:33:27 +00:00
b30ba842d8 fix missing variable initialization
git-svn-id: svn://localhost/ardour2/branches/3.0@13194 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-09-17 21:09:12 +00:00
696631f04e comment tweaks from a second reading
git-svn-id: svn://localhost/ardour2/branches/3.0@13182 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-09-09 20:31:43 +00:00
999ec4a074 remove unused code
git-svn-id: svn://localhost/ardour2/branches/3.0@13181 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-09-09 20:21:50 +00:00
4b38ddec62 replace deprecated g_atomic_int_exchange_add()
git-svn-id: svn://localhost/ardour2/branches/3.0@13086 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-26 15:39:17 +00:00
3cd8138a41 convert from Glib:: to Glib::Threads for all thread-related API
git-svn-id: svn://localhost/ardour2/branches/3.0@13084 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-25 17:48:55 +00:00
3c252e9321 lots more fidgety work on automation. sort of works now, but undo/redo needs attention
git-svn-id: svn://localhost/ardour2/branches/3.0@13047 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-17 03:10:40 +00:00
f97da74cf7 code motion to put Sequence::{add,append}_patch_changed_unlocked() next to each other as candidates for removal
git-svn-id: svn://localhost/ardour2/branches/3.0@13045 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-16 14:46:21 +00:00
c3ccff8d05 fix up part of the remaining details with automation, so that touch/write over-writes work correctly
git-svn-id: svn://localhost/ardour2/branches/3.0@13041 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-14 15:42:10 +00:00
0532e2063b dramatic overhaul of automation. too long to explain here. this work is not finished - write/touch passes do not correctly overwrite existing data because the semantics of ControlList::insert_iterator need clarification. more to follow
git-svn-id: svn://localhost/ardour2/branches/3.0@13038 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-13 21:05:45 +00:00
bd2bf3c52e automation fixes/changes: when add a new control point, create necessary points to construct a flat default-valued line from zero the first point, and revert to the default value at the end of the write (breaks value-holds-after-write behaviour); fix bug in data elimination when recording flat-line data
git-svn-id: svn://localhost/ardour2/branches/3.0@12997 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-09 18:32:53 +00:00
Carl Hetherington
5ac22e9095 Add new SharedStatefulProperty which manages a shared_ptr to
some Stateful object, and a subclass to use this for
AutomationList.  SharedStatefulProperty will manage undo / redo
using full copies of the XML state, like MementoCommand,
but does it within the Property undo system.



git-svn-id: svn://localhost/ardour2/branches/3.0@12740 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-16 17:20:10 +00:00
Carl Hetherington
a6786a6dd2 Hopefully less bad version of Evoral::RangeList::subtract,
with more tests.


git-svn-id: svn://localhost/ardour2/branches/3.0@12514 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-31 20:23:31 +00:00
2d017301f9 add ::length() method to Evoral::ControlList
git-svn-id: svn://localhost/ardour2/branches/3.0@12451 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-25 19:59:11 +00:00
27a1cf2cf7 Compile cleanly with clang.
To compile Ardour with LLVM/clang, do the usual thing but set the CXX and CC
environment variables, e.g.:

CC=/usr/bin/clang CXX=/usr/bin/clang++ ./waf configure build


git-svn-id: svn://localhost/ardour2/branches/3.0@12418 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-24 02:54:10 +00:00
b99131f21e fix bug that has existed since rev 17 when evaluating a curve in a position before the first point of the curve
git-svn-id: svn://localhost/ardour2/branches/3.0@12411 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-24 01:43:02 +00:00
a98fa4bc61 switch to 5 new fade curves, taken from mixbus2 branch. make xfade context menus functional even though the images are not accurate
git-svn-id: svn://localhost/ardour2/branches/3.0@12253 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-11 21:30:36 +00:00
eaa7cc5a73 fix up some const-ness issues starting from Evoral::Event::set(), and intersect with removing Mackie..MidiByteArray::bytes() method which made a copy of the data every time we wrote it
git-svn-id: svn://localhost/ardour2/branches/3.0@12124 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-30 15:54:13 +00:00
Carl Hetherington
a4434809e1 Use a list of ControlPoints to hold the automation selection,
rather than a time range.  This makes more sense now that we
display every point on an automation line, rather than just
a subset.  Makes the code a fair bit simpler, and should fix
some unexpected behaviours, especially when cutting automation
points.


git-svn-id: svn://localhost/ardour2/branches/3.0@12054 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-22 14:03:07 +00:00
Carl Hetherington
9befa88deb Fix some warnings.
git-svn-id: svn://localhost/ardour2/branches/3.0@12048 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-20 23:34:15 +00:00
Carl Hetherington
cfbc2e2438 Fix thinko causing possible memory corruption.
git-svn-id: svn://localhost/ardour2/branches/3.0@12040 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-19 23:54:05 +00:00
Carl Hetherington
a2897ecef6 Fairly major change to the way in which crossfades are handled;
they are now done with region fades, rather than separate objects.
After this commit, Ardour will try to convert your session files
to the new crossfade format, but will make a backup in your
session folder first.

If you have works in progress using Ardour 3 it is
***STRONGLY RECOMMENDED*** that you back up session files before
updating to this commit.


git-svn-id: svn://localhost/ardour2/branches/3.0@11986 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-16 16:32:22 +00:00
Carl Hetherington
23973bae24 A few tweaks to make Ardour build in GCC -std=c++0x mode.
git-svn-id: svn://localhost/ardour2/branches/3.0@11983 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-15 19:28:44 +00:00
bdde5da89b make automation thinning factor controllable at run time
git-svn-id: svn://localhost/ardour2/branches/3.0@11795 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-05 11:16:04 +00:00
Carl Hetherington
daad719546 Remove ControlList::_max_xval which is set up and stored in
state but never actually read.


git-svn-id: svn://localhost/ardour2/branches/3.0@11787 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-04 00:15:41 +00:00
Carl Hetherington
5de4de613b Fix memory leak on error condition (#4798).
git-svn-id: svn://localhost/ardour2/branches/3.0@11775 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-01 15:06:24 +00:00
Carl Hetherington
d7deaa21bb Fix reference of track after free() (#4795).
git-svn-id: svn://localhost/ardour2/branches/3.0@11773 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-01 14:58:09 +00:00
Carl Hetherington
7c2b3171c2 Further GCC 4.7.0 fixes.
git-svn-id: svn://localhost/ardour2/branches/3.0@11768 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-30 01:21:08 +00:00
Carl Hetherington
8ae1880e33 Some fixes for GCC 4.7.0
git-svn-id: svn://localhost/ardour2/branches/3.0@11767 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-30 00:03:53 +00:00
Carl Hetherington
3120bae8b4 Don't leave internal edit mode when clicking on an automation region view (#4747).
git-svn-id: svn://localhost/ardour2/branches/3.0@11749 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-22 16:41:23 +00:00
40af4b914f use musical_time_equal() test for equality when copying note data, not strict floating point equality. should fix #4609 (and maybe another one too)
git-svn-id: svn://localhost/ardour2/branches/3.0@11407 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-31 23:20:13 +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
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
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
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
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
14d601a0ff revert recent change to Evoral::Event, and use static_cast<> to get from Event to MIDIEvent
git-svn-id: svn://localhost/ardour2/branches/3.0@10870 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-02 20:34:58 +00:00
a38df56f97 correct code for MIDIEvent::is_{spp,mtc_quarter}()
git-svn-id: svn://localhost/ardour2/branches/3.0@10866 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-02 19:40:03 +00:00
60e6b5d561 add 3 new is_foo() methods to MIDIEvent for testing for certain periodic MIDI messages
git-svn-id: svn://localhost/ardour2/branches/3.0@10862 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-02 19:31:53 +00:00
ebc0b88248 make Evoral::Event be polymorphic by adding virtual to its destructor (why was this not done already?)
git-svn-id: svn://localhost/ardour2/branches/3.0@10861 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-02 19:31:19 +00:00
efe14fbd52 Fix broken whitespace via merciless application of the emacs hammer.
git-svn-id: svn://localhost/ardour2/branches/3.0@10782 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-23 00:17:31 +00:00
2929cd1c36 tweak debug output
git-svn-id: svn://localhost/ardour2/branches/3.0@10780 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-22 20:29:41 +00:00
Carl Hetherington
6e1aa92eb8 Doxygen tweaks.
git-svn-id: svn://localhost/ardour2/branches/3.0@10644 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-16 02:03:30 +00:00
bf8f0b2cb5 Apply patch from timbyr to fix building with --test.
git-svn-id: svn://localhost/ardour2/branches/3.0@10561 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-13 03:54:29 +00:00
18c2ee4a26 Remove dubious Evoral::Event methods that exposed non-const references to members.
git-svn-id: svn://localhost/ardour2/branches/3.0@10239 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-19 18:11:31 +00:00
0938a42440 fixes for 98% of all the warnings/errors reported by OS X gcc on tiger
git-svn-id: svn://localhost/ardour2/branches/3.0@10179 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-30 17:55:14 +00:00
a6d7098797 more changes to wscript files to catch up with waf 1.6 and fix OS X issues
git-svn-id: svn://localhost/ardour2/branches/3.0@10176 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-30 16:22:04 +00:00
4ffe8418e3 Use is_defined to check for HAVE_* variables set by checks.
Note that conf.define('FOO', 1) will NOT set conf.env['FOO'].


git-svn-id: svn://localhost/ardour2/branches/3.0@10164 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-29 20:29:06 +00:00
c1ef7b14a3 Remove use of waf compat15 tool.
Always load waf tools first (prevent smashing of --debug, DATADIR, etc).


git-svn-id: svn://localhost/ardour2/branches/3.0@10163 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-29 19:58:05 +00:00
723ab60b39 Upgrade to waf 1.6.7 and autowaf r52.
git-svn-id: svn://localhost/ardour2/branches/3.0@10162 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-29 19:17:54 +00:00
Carl Hetherington
20dc91d0ad Add missed parent class call to Sequence::control_list_marked_dirty. Fixes #4335.
git-svn-id: svn://localhost/ardour2/branches/3.0@10140 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-27 01:21:05 +00:00
Carl Hetherington
da4270a93d Emit ContentsChanged on the model when one of its control lists changes. Should fix #3880.
git-svn-id: svn://localhost/ardour2/branches/3.0@10095 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-19 17:15:43 +00:00
Carl Hetherington
77f3fa0943 Fix build with tests enabled.
git-svn-id: svn://localhost/ardour2/branches/3.0@9984 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-13 14:17:16 +00:00
61eacc021a prevent illegal data being used to set note values, velocities and channels
git-svn-id: svn://localhost/ardour2/branches/3.0@9982 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-12 14:40:04 +00:00
a8449db466 finish the intention of the previous commit, correctly this time
git-svn-id: svn://localhost/ardour2/branches/3.0@9979 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-11 16:06:31 +00:00
1f845c0e32 do not assert/abort out of data errors that may originate with external user-supplied data, and use PBD::error instead
git-svn-id: svn://localhost/ardour2/branches/3.0@9978 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-11 15:58:28 +00:00
dd6e76ad89 add skeleton for i18n support
git-svn-id: svn://localhost/ardour2/branches/3.0@9977 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-11 15:57:48 +00:00
Carl Hetherington
eb43f2d0eb Fix up build of tests.
git-svn-id: svn://localhost/ardour2/branches/3.0@9943 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-31 13:58:26 +00:00
921358a5f3 remove remnant of MIDI I/O debugging
git-svn-id: svn://localhost/ardour2/branches/3.0@9937 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-26 16:24:41 +00:00
c99738d88e try to fix data loss at end of a capture pass for MIDI - add a new virtual method to MidiSource that specifies what should be done with stuck notes, remove duplicate(i hope) _last_flush_frame from SMFSource that mirrored, more or less, MidiSource::_last_write_end; use new virtual method when stopping after capture.
git-svn-id: svn://localhost/ardour2/branches/3.0@9910 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-20 18:13:03 +00:00
Carl Hetherington
26666fce42 Remove an assert() that I can't see the value of, and which
trips when loading empty MIDI files (#4190).


git-svn-id: svn://localhost/ardour2/branches/3.0@9883 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-16 20:55:14 +00:00
a5efa9a500 initial pass at session-renaming functionality
git-svn-id: svn://localhost/ardour2/branches/3.0@9876 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-14 17:41:06 +00:00
160f1493fa more midi io debugging
git-svn-id: svn://localhost/ardour2/branches/3.0@9868 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-13 20:14:53 +00:00
be614d0538 change default overlapping note strategy to "relax" (i.e. do nothing); fix crash when looping with MIDI data; add back note-off resolution at loop point (if it was actually there) so that notes are turned off (but don't forget Ye Olde Sustain Pedal/Controller) when looping; minor other non-functional tweaks
git-svn-id: svn://localhost/ardour2/branches/3.0@9753 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-21 21:29:22 +00:00
01e006e46e some changes to try to make the monitor section gain controls work as intended, and along the way start to rationalize MotionFeedback/VolumeController classes
git-svn-id: svn://localhost/ardour2/branches/3.0@9746 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-17 21:47:20 +00:00
1060243302 major, substantive reworking of how we store GUI information (visibility, height) for automation data. old design stored (insufficient) identifying information plus actual data in a GUI-only XML node; new scheme adds GUI data via extra_xml node to each AutomationControl object. reworked public/private methods for showing/hiding TimeAxisView objects; changed labelling of automation tracks to just show the name of the controlled parameter - more info can be viewed in the tooltip for the track headers. NOTE: Session file format ALTERED. No data loss but track visibility may be different than previous ardour3 versions
git-svn-id: svn://localhost/ardour2/branches/3.0@9703 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-11 15:35:34 +00:00
8855b1643c more gcc 4.6/standards compliance
git-svn-id: svn://localhost/ardour2/branches/3.0@9625 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-29 00:25:30 +00:00
df46ab2c02 attempt to be compliant with gcc 4.6 (assuming that its more compliant with standards), by defining a default constructor for an object that is in static/global scope
git-svn-id: svn://localhost/ardour2/branches/3.0@9624 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-28 23:45:34 +00:00
Carl Hetherington
819faa3b0b Remove unnecessary duplicate take of Sequence's read_lock.
git-svn-id: svn://localhost/ardour2/branches/3.0@9537 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-17 12:01:05 +00:00
Carl Hetherington
c86ccc7db2 Minor tidy-ups.
git-svn-id: svn://localhost/ardour2/branches/3.0@9536 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-17 12:00:10 +00:00
4769db412d Fix Python whitespace (follow PEP8 guidelines, reformatted by Python Reindent)
git-svn-id: svn://localhost/ardour2/branches/3.0@9409 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-22 22:15:21 +00:00
Carl Hetherington
d22cd939a3 Remove unused NascentInfo::is_touch member.
git-svn-id: svn://localhost/ardour2/branches/3.0@9386 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-20 01:24:25 +00:00
Carl Hetherington
51e368f3f0 Fix assertion failure when merging a set of nascent events which start at the same time as the last event in a ControlList.
git-svn-id: svn://localhost/ardour2/branches/3.0@9384 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-20 01:24:10 +00:00
Carl Hetherington
47018e771d Fix erroneous masking when loading bank changes (part of #3916).
git-svn-id: svn://localhost/ardour2/branches/3.0@9359 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-16 15:10:25 +00:00
8177e85bf9 fix mismatching use of operator new() when allocating buffer to passed into libsmf - should be malloc'ed
git-svn-id: svn://localhost/ardour2/branches/3.0@9339 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-09 15:36:54 +00:00
0906b39918 Fix my name :)
git-svn-id: svn://localhost/ardour2/branches/3.0@9302 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-06 15:00:16 +00:00
8ceb8ac79f more customary include order
git-svn-id: svn://localhost/ardour2/branches/3.0@9213 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-26 19:13:37 +00:00
ea9979b4b9 remove Evoral::RingBuffer, which was (a) duplicating PBD::RingBufferNPT and (b) broken; replace it with PBD::RingBufferNPT
git-svn-id: svn://localhost/ardour2/branches/3.0@9212 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-26 19:01:12 +00:00
Carl Hetherington
7178f031ba Patch from Joskar to use scientific pitch notation for MIDI note names (#3867).
git-svn-id: svn://localhost/ardour2/branches/3.0@9188 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-23 13:17:35 +00:00
9850407bd9 Indent python files with spaces as per style guide.
git-svn-id: svn://localhost/ardour2/branches/3.0@9158 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-16 16:32:56 +00:00
Carl Hetherington
d2bcfc0747 Allow out-of-time-order writes to nascent event list, sorting before merge. Fixes #3537.
git-svn-id: svn://localhost/ardour2/branches/3.0@9103 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-08 12:34:25 +00:00
Carl Hetherington
28d3dd69de Update session range on trimming regions.
git-svn-id: svn://localhost/ardour2/branches/3.0@9004 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-01 16:23:31 +00:00
50af344d12 avoid unused args warning
git-svn-id: svn://localhost/ardour2/branches/3.0@8643 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-01 17:15:06 +00:00
Carl Hetherington
64e43bf4b1 Fix crash with debug enabled.
git-svn-id: svn://localhost/ardour2/branches/3.0@8613 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-01-29 19:36:01 +00:00
15b5fce904 merge 3.0-panexp (pan experiments) branch, revisions 8534-8585 into 3.0, thus ending 3.0-panexp. THIS COMMIT WILL BREAK ALL EXISTING 3.0 SESSIONS IN SOME WAY (possibly not fatally).
git-svn-id: svn://localhost/ardour2/branches/3.0@8586 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-01-27 01:31:03 +00:00
Carl Hetherington
3d0c3ffb6a Missing files.
git-svn-id: svn://localhost/ardour2/branches/3.0@8347 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-28 18:43:22 +00:00
Carl Hetherington
f8ebb4582d Unify program change and bank handling so that they are manipulated together.
git-svn-id: svn://localhost/ardour2/branches/3.0@8346 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-28 18:19:40 +00:00
bffe0c4f98 Fix broken whitespace.
git-svn-id: svn://localhost/ardour2/branches/3.0@8341 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-24 22:48:05 +00:00
Carl Hetherington
3ec58e478c Allow deletion of program changes in the same way as notes.
git-svn-id: svn://localhost/ardour2/branches/3.0@8304 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-20 13:30:31 +00:00
Carl Hetherington
ad916f6241 Fix a few bad iterator accesses.
git-svn-id: svn://localhost/ardour2/branches/3.0@8231 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-09 21:35:33 +00:00
Carl Hetherington
5c23faaa0d Allow trim of midi regions to before the start of the source (better, this time). Fixes #3156.
git-svn-id: svn://localhost/ardour2/branches/3.0@8229 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-09 21:34:46 +00:00
Carl Hetherington
56554af08f Revert previous ill-thought-out patch.
git-svn-id: svn://localhost/ardour2/branches/3.0@8213 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-07 19:55:43 +00:00
Carl Hetherington
f3fc6195bc Allow trim of midi regions to before the start of the source. Fixes #3156.
git-svn-id: svn://localhost/ardour2/branches/3.0@8212 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-07 19:16:23 +00:00
b83f21c3cf add "shift" method used in 2.X and now a3 to move data starting at a position, not an iterator
git-svn-id: svn://localhost/ardour2/branches/3.0@8208 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-07 15:13:04 +00:00
Carl Hetherington
73192bc1a7 Remove all use of nframes_t.
git-svn-id: svn://localhost/ardour2/branches/3.0@8166 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-03 22:26:29 +00:00
b85b4d9e54 make ardour3 build and link on OS X (tiger, at least)
git-svn-id: svn://localhost/ardour2/branches/3.0@8018 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-13 05:14:48 +00:00
a52c992de5 remove debug output during note ID load & save
git-svn-id: svn://localhost/ardour2/branches/3.0@7966 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-04 19:12:07 +00:00
f9d6a7329c use newly-public libsmf functions for variable length quantities to load+store MIDI note IDS. THIS BREAKS MIDI NOTE HISTORY IN ALL EXISTING SESSIONS
git-svn-id: svn://localhost/ardour2/branches/3.0@7953 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-03 00:07:42 +00:00
a188e69aae make VLQ save+restore functions publically accessible, for use with meta-events
git-svn-id: svn://localhost/ardour2/branches/3.0@7952 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-03 00:06:42 +00:00
Carl Hetherington
f761f13f6b Don't cut output rate of non-interpolated controllers.
git-svn-id: svn://localhost/ardour2/branches/3.0@7852 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-28 18:47:24 +00:00
Carl Hetherington
42a23312a0 Slightly hacky but functional fix for large quantities of MIDI output when interpolating sharp changes in controller value. Fixes #3476.
git-svn-id: svn://localhost/ardour2/branches/3.0@7840 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-24 14:05:20 +00:00
Carl Hetherington
b6eede26fa Remove debugging code.
git-svn-id: svn://localhost/ardour2/branches/3.0@7834 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-23 22:54:47 +00:00
Carl Hetherington
a212e7eec9 Make sure that _get_vector writes a value to the output array even when veclen == 1. Fixes #3461.
git-svn-id: svn://localhost/ardour2/branches/3.0@7808 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-20 00:57:44 +00:00
aaf6ea8d28 Upgrade to latest autowaf.
Tidy up configure output.


git-svn-id: svn://localhost/ardour2/branches/3.0@7752 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-07 20:48:54 +00:00
98d994f29c fix a variety of unused argument errors noted by gcc 4.3.2 on x86
git-svn-id: svn://localhost/ardour2/branches/3.0@7733 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-02 17:01:36 +00:00
1526735d79 some (unfinished) work on incorporating Ben's rev 6919 changes regarding track selection; make newly selected tracks show the current range selection; fix crashes related to meter display; remove "all" group from main group tab display and just put it down in its own button (totally incomplete); minor cleanups
git-svn-id: svn://localhost/ardour2/branches/3.0@7696 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-26 23:25:44 +00:00
6e904b1e16 3.0 version of rev 5564 from 2.x - basic boolean plugin parameter automation (no graphical editing intended). this involved adding a new "toggled" property to Evoral::Parameter
git-svn-id: svn://localhost/ardour2/branches/3.0@7670 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-23 16:31:34 +00:00
Carl Hetherington
067c4458a0 Don't write undo records for automation that moves with regions when nothing changes about the automation.
git-svn-id: svn://localhost/ardour2/branches/3.0@7665 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-20 23:58:49 +00:00
Carl Hetherington
cdb3ade9ff Fix automation re-load.
git-svn-id: svn://localhost/ardour2/branches/3.0@7664 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-20 23:58:09 +00:00
7b6b75f38f forward port automation handling changes from 2.x, upto and including about rev 6981 (will need full testing in the 3.X context). as on 2.x, this removes real-time visual updates to automation curves during write/touch automation recording
git-svn-id: svn://localhost/ardour2/branches/3.0@7653 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-19 21:09:40 +00:00
a4d9d09af5 forward port 2.X changes up to and including rev 6714
git-svn-id: svn://localhost/ardour2/branches/3.0@7635 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-16 19:58:34 +00:00
Carl Hetherington
78986385e1 Fix save/load of MIDI automation state. Fixes #3354.
git-svn-id: svn://localhost/ardour2/branches/3.0@7578 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-09 22:23:23 +00:00
Carl Hetherington
5e3ca4db5c Support cut / copy / paste of MIDI automation.
git-svn-id: svn://localhost/ardour2/branches/3.0@7545 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-05 13:36:38 +00:00
Carl Hetherington
623f37fd36 Fix test compile.
git-svn-id: svn://localhost/ardour2/branches/3.0@7516 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-28 00:42:43 +00:00
ece5093234 change Control::{set,get}_float to Control::{set,get}_double and make almost all Control-related stuff use double rather than random mixtures of float, double and some integer value ; make hans' program change stuff work quite a bit better (not finished yet) including keyboard edting of pgm change values
git-svn-id: svn://localhost/ardour2/branches/3.0@7514 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-27 14:09:16 +00:00
Carl Hetherington
6a9758dbcc Fix case where the working range for the interpolation can be chosen wrongly if start is after the cached point's time. Should fix #3356.
git-svn-id: svn://localhost/ardour2/branches/3.0@7495 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-25 23:20:31 +00:00
Carl Hetherington
2794eab6ae Name evoral test target so that it can be build on its own.
git-svn-id: svn://localhost/ardour2/branches/3.0@7494 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-25 23:19:55 +00:00
Carl Hetherington
115083c13d Remove end of SearchCache as it is not used (it's always set to DBL_MAX)
git-svn-id: svn://localhost/ardour2/branches/3.0@7493 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-25 23:19:43 +00:00
Carl Hetherington
93a3b1a221 Remove test that will never fire.
git-svn-id: svn://localhost/ardour2/branches/3.0@7489 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-25 01:47:18 +00:00
Carl Hetherington
963bc50a8b Fix up evoral test suite.
git-svn-id: svn://localhost/ardour2/branches/3.0@7483 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-25 00:39:04 +00:00
c685724c80 step editing now accessed via a context menu on MIDI track rec-enable buttons. along the way, fixed up confusion between set_rec_enable() and set_rec_enabled() methods in Route/Track/Diskstream
git-svn-id: svn://localhost/ardour2/branches/3.0@7482 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-24 16:40:56 +00:00
75fb4557e5 removed #if 0 code
git-svn-id: svn://localhost/ardour2/branches/3.0@7461 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-21 17:46:45 +00:00
6ef49a0b86 force creation of MIDI (SMF) files on disk whenever an SMF object is created, to avoid "source exists but no file don disk exists" issue
git-svn-id: svn://localhost/ardour2/branches/3.0@7459 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-21 13:02:58 +00:00
bf91ed99ec add note IDs and use them for looking up notes during a history rebuild. NOTE: INVALIDATES OLDER HISTORY FILES
git-svn-id: svn://localhost/ardour2/branches/3.0@7449 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-20 16:27:34 +00:00
c8e3f32533 newly created files for use in recording appear in a .stubs folder, and are moved out of it when recording stops
git-svn-id: svn://localhost/ardour2/branches/3.0@7426 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-16 14:55:11 +00:00
Carl Hetherington
593b421180 A few fixes to interpolation of MIDI controller data. Don't interpolate
when writing these data back to a source, otherwise surprising new
interpolated points appear in MIDI automation.  Similarly don't interpolate
when reading the model during MIDI stretch.  Fix handling of interpolation state;
controllers that have been set by the user to use a different interpolation style
are noted in the <Source> tag of the session file and this state is sprayed around
to MidiModel and the GUI as necessary.


git-svn-id: svn://localhost/ardour2/branches/3.0@7409 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-14 00:58:15 +00:00
Carl Hetherington
d1b4599725 Mark Sequence as edited when one of its parent ControlSet's ControlLists is changed.
git-svn-id: svn://localhost/ardour2/branches/3.0@7404 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-12 00:41:45 +00:00
d3a4655ddd allow zero length MIDI files again and remove debug output
git-svn-id: svn://localhost/ardour2/branches/3.0@7347 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-01 15:02:18 +00:00
37978aa214 lots of details relating to MIDI file management; try to ignore ALSA sequencer MIDI ports named "Midi-Through"
git-svn-id: svn://localhost/ardour2/branches/3.0@7305 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-26 13:45:59 +00:00
Carl Hetherington
ecb0cd5d11 Make MIDI region `automation' respect the automation mode so that it is
only played back if the automation mode is set to "Play".  Munge AutoState
for AutomationRegionViews so that they reflect their AutomationTimeAxisView's
setting.  Fixes #3135.


git-svn-id: svn://localhost/ardour2/branches/3.0@7304 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-25 20:47:09 +00:00
f4401c5928 midway snapshot of work done on managing Region & Source lifetimes correctly. may fix missing MIDI file bug ; save empty playlists because they may be referred to by the history file ; undo commands auto-delete when objects they refer to die (currently not commands built from XML deserialization); Sources now know how many regions are using them for something, meaning that we know if we can delete the files holding any data for the source
git-svn-id: svn://localhost/ardour2/branches/3.0@7291 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-23 20:14:07 +00:00
Carl Hetherington
40ffadf219 Return delta time even for metadata events. Should fix #3244.
git-svn-id: svn://localhost/ardour2/branches/3.0@7282 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-20 22:49:35 +00:00
c158c44fab make note overlap resolution store side effects in a DiffCommand, and add its changes to the DiffCommand being executed, so as to retain "internal" note property changes across undo
git-svn-id: svn://localhost/ardour2/branches/3.0@7256 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-14 23:43:10 +00:00
fddb377812 introduce the notion that note additions and property changes can cause the removal of other notes because of overlaps; merge Diff and Delta commands in MidiModel; fix marshalling of notes to avoid float->int conversion of length+time properties; initial implementation (not tested much so far) of different policies for how to handle note overlaps
git-svn-id: svn://localhost/ardour2/branches/3.0@7254 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-12 13:55:22 +00:00
db1fa42f14 start tracking note overlaps while moving notes
git-svn-id: svn://localhost/ardour2/branches/3.0@7228 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-03 21:27:36 +00:00
9208598c26 Sequence::contains() and Sequence::overlaps() now use pitch-based indexing to speed things up in pathological cases
git-svn-id: svn://localhost/ardour2/branches/3.0@7221 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-03 15:58:15 +00:00
460d2d0675 add channel+pitch indexing for notes in a Sequence
git-svn-id: svn://localhost/ardour2/branches/3.0@7217 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-02 19:55:37 +00:00
0cd3bd4f19 rationale pathways that add notes to Sequence<T> so that there is only final insertion step; when changing note properties that affect "indexing" within a Sequence<T> (i.e. via set<T,comparator> indexing/ordering/hashing), remove the note and add it back so that indexing stays consistent; fix marshalling of MidiModel::DiffCommand (boost::bind(&Object::method, reference_to_object) will COPY the reference, so use a pointer); fix MidiModel::find_note() to compare note properties not pointer addresses
git-svn-id: svn://localhost/ardour2/branches/3.0@7203 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-01 20:40:45 +00:00
df99f37047 add missing (new) file
git-svn-id: svn://localhost/ardour2/branches/3.0@7200 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-01 01:22:37 +00:00
db67064296 switch Evoral::Sequence debugging to use DEBUG_TRACE(); Sequence uses multiset<...,EarlierNoteComparator> for _write_notes, does FIFO note resolution for overlapping notes in SMF file; implement Sequence::overlaps() ... current use is uncertain; ARDOUR::coverage() uses 64bit framepos_t
git-svn-id: svn://localhost/ardour2/branches/3.0@7199 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-31 19:47:15 +00:00
60ec5dd339 provide a generalized Sequence::get_notes()-by-predicate method, and prototypes for 2 future methods
git-svn-id: svn://localhost/ardour2/branches/3.0@7191 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-28 21:36:38 +00:00
Carl Hetherington
d0d160e566 Fix crash on clear option for automation tracks (#3195). Also fix state change signalling so that lines reappear on undoing a clear.
git-svn-id: svn://localhost/ardour2/branches/3.0@7178 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-27 12:26:00 +00:00
a196405da9 various minor MIDI fixes: prevent duplicate note entry with mouse, show note info more often with verbose cursor, fix some crashes from click+move on notes ... lots more where this comes from
git-svn-id: svn://localhost/ardour2/branches/3.0@7128 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-20 22:38:12 +00:00
e258b2622a MIDI region forking, plus Playlist::regions_to_read() fix forward ported from 2.X. region forking requires a few cleanups
git-svn-id: svn://localhost/ardour2/branches/3.0@7118 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-19 03:03:28 +00:00
Carl Hetherington
f1114dedee Move FileManager code into libpbd. Use it for SMF read/write.
git-svn-id: svn://localhost/ardour2/branches/3.0@7108 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-16 20:54:50 +00:00
Carl Hetherington
ed9d42c55d Some comments and minor cleanup.
git-svn-id: svn://localhost/ardour2/branches/3.0@6988 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-26 00:22:26 +00:00
17088ee3ea (1) remove most uses of MementoCommand for Playlist and Region (2) move frozen state from Region into Stateful, renamed "suspend property changes" (3) successive changes to a Property (scalar) after clear_history() do not keep resetting the old value (fixes region trim)
git-svn-id: svn://localhost/ardour2/branches/3.0@6720 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-02 18:05:26 +00:00
fa701b8c06 change PropertyChange from a bitfield into a real object, with all the many widespread changes that causes
git-svn-id: svn://localhost/ardour2/branches/3.0@6701 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-19 18:09:08 +00:00
ce7a5e1c9f the Properties & 64bit region commit
git-svn-id: svn://localhost/ardour2/branches/3.0@6695 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-18 13:59:49 +00:00
ea63af333e fix up note names (from Don F, via SoftWerk)
git-svn-id: svn://localhost/ardour2/branches/3.0@6649 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-08 19:36:25 +00:00
Carl Hetherington
797cd64d12 Coding style.
git-svn-id: svn://localhost/ardour2/branches/3.0@6642 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-07 02:48:07 +00:00
Carl Hetherington
0e1c62150a Remove some unnecessary includes.
git-svn-id: svn://localhost/ardour2/branches/3.0@6641 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-07 02:47:17 +00:00
Carl Hetherington
420e28f4d8 Coding style cleanups. Preserve mono state in XML for panners.
git-svn-id: svn://localhost/ardour2/branches/3.0@6640 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-07 02:45:55 +00:00
Taybin Rutkin
52b4b464f9 Merged revisions 6292,6294-6295,6311,6314 via svnmerge from
svn+ssh://ardoursvn@subversion.ardour.org/ardour2/branches/build_fixes

........
  r6292 | trutkin | 2009-12-05 08:31:25 -0500 (Sat, 05 Dec 2009) | 1 line
  
  remove scons build files
........
  r6294 | trutkin | 2009-12-05 09:11:17 -0500 (Sat, 05 Dec 2009) | 2 lines
  
  cairomm
  remove unnecessary vendor libraries as we now rely on the developer to install them
........
  r6295 | trutkin | 2009-12-05 09:12:54 -0500 (Sat, 05 Dec 2009) | 2 lines
  
  soundtouch
  remove unnecessary vendor libraries as we now rely on the developer to install them
........
  r6311 | trutkin | 2009-12-05 23:38:49 -0500 (Sat, 05 Dec 2009) | 2 lines

  glibmm2, gtkmm2, libgnomecanvasmm, sigc++2  
  remove unnecessary vendor libraries as we now rely on the developer to install them
........
  r6314 | trutkin | 2009-12-06 09:15:49 -0500 (Sun, 06 Dec 2009) | 4 lines
  
  remove scons referencing from Makefile
  
  - TODO: should move cscope stuff to waf and get rid of the Makefile
........


git-svn-id: svn://localhost/ardour2/branches/3.0@6315 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-06 14:21:46 +00:00
1716d75f9f Apply accurate copyright header.
Shrink.


git-svn-id: svn://localhost/ardour2/branches/3.0@5905 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-24 15:35:50 +00:00
f8fe64a91e (FULL commit) start of a nominal debug tracing system, with 64 bits available for flags; track notes by region in MidiPlaylist, and resolve them if they are left hanging at region boundaries. note: MIDI playback is still not working 100% though its better now.
git-svn-id: svn://localhost/ardour2/branches/3.0@5903 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-24 13:26:56 +00:00
8340dcdd57 Unit test code coverage using lcov.
git-svn-id: svn://localhost/ardour2/branches/3.0@5892 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-23 17:30:11 +00:00
82a0c02af1 Fix controller iteration / linear interpolation.
Add unit test for controller iteration / linear interpolation.


git-svn-id: svn://localhost/ardour2/branches/3.0@5886 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-23 04:24:20 +00:00
653a487bbd Fix whitespace.
git-svn-id: svn://localhost/ardour2/branches/3.0@5885 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-23 03:58:11 +00:00
f68f8839a5 Sshh.
git-svn-id: svn://localhost/ardour2/branches/3.0@5884 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-23 03:57:52 +00:00
7524b90985 Fix compilation with DEBUG_SEQUENCE on.
git-svn-id: svn://localhost/ardour2/branches/3.0@5883 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-23 03:32:54 +00:00
03b0d3f328 Testing how anal retentive I can be without anyone saying anything.
git-svn-id: svn://localhost/ardour2/branches/3.0@5882 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-23 02:53:47 +00:00
c78108a033 Fix yet more crazy tabs.
git-svn-id: svn://localhost/ardour2/branches/3.0@5881 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-23 02:49:12 +00:00
3fd5f15e26 Indentation.
git-svn-id: svn://localhost/ardour2/branches/3.0@5874 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-22 22:05:49 +00:00
f3a510ce34 More spacey tabs.
Can we please stop with the spacey tabs?
Thanks.


git-svn-id: svn://localhost/ardour2/branches/3.0@5873 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-22 22:04:43 +00:00
7b46e9c57c Fix adding multiple notes with the same time stamp (geeze).
git-svn-id: svn://localhost/ardour2/branches/3.0@5872 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-22 21:54:32 +00:00
382a79eda5 Remove linear search when adding/removing a note from/to a Sequence.
git-svn-id: svn://localhost/ardour2/branches/3.0@5870 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-22 21:33:05 +00:00
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
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
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
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
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
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
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
bb9cc45cd2 Strip trailing whitespace and fix other whitespace errors (e.g. space/tab mixing). Whitespace changes only.
Vimmers, try let c_space_errors = 1 in your .vimrc to highlight this kind of stuff in red.  I don't know the emacs equivalent...


git-svn-id: svn://localhost/ardour2/branches/3.0@5773 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-14 16:10:01 +00:00
fa4e858eb3 do not allow smf_source's reads to stomp on cached read_end position in parent class, which creates chaos by being out of sync with MidiSource::_model_iterator. this doesn't totally fix MIDI playback, but it helps
git-svn-id: svn://localhost/ardour2/branches/3.0@5665 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-16 01:08:51 +00:00
Carl Hetherington
7b14a4230b Fix some warnings.
git-svn-id: svn://localhost/ardour2/branches/3.0@5663 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-15 15:23:59 +00:00
bf0a99f0c0 fix up marshall/unmarshall of note data for MidiModel::DiffCommand
git-svn-id: svn://localhost/ardour2/branches/3.0@5662 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-14 16:01:32 +00:00
837bfc9af4 the start (only the start) of MIDI diff commands
git-svn-id: svn://localhost/ardour2/branches/3.0@5637 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-06 18:11:55 +00:00
e7e071db1a more MIDI editing tweaks ; flip mouse mode buttons around for MIDI so that "object" mode is the most likely mode for both region \& region editing ; frame handle events (from lincoln's region trimming patch) are now handled more explicitly
git-svn-id: svn://localhost/ardour2/branches/3.0@5600 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-28 16:06:08 +00:00
3845af6ce9 lots of MIDI editing stuff. to be explained on the website when its done
git-svn-id: svn://localhost/ardour2/branches/3.0@5596 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-27 03:09:30 +00:00
Carl Hetherington
dffd30baf9 Fix uninitialised member variable.
git-svn-id: svn://localhost/ardour2/branches/3.0@5570 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-23 18:31:34 +00:00
3162ffb4f4 move assignments out of assert() in editor_drag (thanks lincoln); change mouse mode buttons when in internal/MIDI mode; arrow key control of note velocity, value and position - hey look ma, MIDI editing!
git-svn-id: svn://localhost/ardour2/branches/3.0@5539 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-17 15:58:47 +00:00
Carl Hetherington
902a087f15 Fix uninitialised variable.
git-svn-id: svn://localhost/ardour2/branches/3.0@5535 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-17 01:41:35 +00:00
0178875021 MIDI cut&paste round two (not done yet); a small region trim fix from lincoln s.
git-svn-id: svn://localhost/ardour2/branches/3.0@5517 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-13 01:57:03 +00:00
38510cb19e install ardour.menus and bindings file (elthariel) ; initial, basic MIDI gain (fader) working
git-svn-id: svn://localhost/ardour2/branches/3.0@5416 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-23 03:01:31 +00:00
3804e3bc49 Update autowaf.
git-svn-id: svn://localhost/ardour2/branches/3.0@5414 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-22 20:51:13 +00:00
Carl Hetherington
b65f8073ba Fix some unused parameter warnings.
git-svn-id: svn://localhost/ardour2/branches/3.0@5403 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-21 15:55:17 +00:00
20342cf264 first part of fixing up send/return metering ; make send-controlling faders work ; fixes from 2.X for key editor and untranslatable string; use standard name for surfaces lib version in wiimote wscript
git-svn-id: svn://localhost/ardour2/branches/3.0@5400 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-21 03:23:57 +00:00
Carl Hetherington
01217e64f8 Patch from agorka to add some includes required for building with the GCC shipped with Ubuntu Karmic.
git-svn-id: svn://localhost/ardour2/branches/3.0@5098 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-18 00:21:17 +00:00
7183242b8c The great audio processing overhaul.
The vast majority of Route signal processing is now simply in the list of
processors.  There are definitely regressions here, but there's also
a lot of things fixed.  It's far too much work to let diverge anymore
regardless, so here it is.

The basic model is: A route has a fixed set of input channels (matching
its JACK input ports and diskstream).  The first processor takes this
as input.  The next processor is configured using the first processor's
output as input, and is allowed to choose whatever output it wants
given that input... and so on, and so on.  Finally, the last processor's
requested output is used to set up the panner and create whatever Jack
ports are needed to output the data.

All 'special' internal processors (meter, fader, amp, insert, send) are
currently transparent: they read any input, and return the same set
of channels back (unmodified, except for amp).

User visible changes:
 * LV2 Instrument support (tracks with both MIDI and audio channels)
 * MIDI in/out plugin support
 * Generic plugin replication (for MIDI plugins, MIDI/audio plugins)
 * Movable meter point

Known Bugs:
 * Things seem to get weird on loaded sessions
 * Output delivery is sketchy
 * 2.0 session loading was probably already broken...
   but it's definitely broken now :)

Please test this and file bugs if you have any time...



git-svn-id: svn://localhost/ardour2/branches/3.0@5055 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-07 06:30:50 +00:00
d3d1e2c286 Strip trailing whitespace from waf scripts.
git-svn-id: svn://localhost/ardour2/branches/3.0@5045 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-04 22:10:15 +00:00
b034d9d05a Maybe fix assertion crash.
git-svn-id: svn://localhost/ardour2/branches/3.0@5031 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-04 02:15:16 +00:00
3ae378a17c Upgrade to waf 1.5.4.
git-svn-id: svn://localhost/ardour2/branches/3.0@4991 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-04-18 16:15:12 +00:00
Hans Baier
06a8d164da libs/evoral/run-tests.sh: adapt to new global waf
git-svn-id: svn://localhost/ardour2/branches/3.0@4973 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-04-12 22:29:05 +00:00
63189be1df vestige-based VST support, back-ported from 2.0-ongoing
git-svn-id: svn://localhost/ardour2/branches/3.0@4703 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-27 17:11:21 +00:00
903c0863d9 Waf: install stuff
git-svn-id: svn://localhost/ardour2/branches/3.0@4702 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-27 04:40:44 +00:00
3bc71af0ca Clean up checks.
git-svn-id: svn://localhost/ardour2/branches/3.0@4667 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-26 00:05:51 +00:00
0c0e689d3c Waf building of gtk2_ardour.
git-svn-id: svn://localhost/ardour2/branches/3.0@4662 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-25 23:21:49 +00:00
8ad0123812 Make unit tests optional.
git-svn-id: svn://localhost/ardour2/branches/3.0@4658 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-25 19:08:26 +00:00
e0aaed6d65 *** NEW CODING POLICY ***
All #include statements that include a header that is a part of a library
bundled with ardour MUST use quotes, not angle brackets.

Do this:

#include "ardour/types.h"

NOT this:

#include <ardour/types.h>

Rationale:

This is best practice in general, to ensure we include the local version
and not the system version.  That quotes mean "local" (in some sense)
and angle brackets mean "system" (in some sense) is a ubiquitous
convention and IIRC right in the C spec somewhere.

More pragmatically, this is required by (my) waf (stuff) for dependencies
to work correctly.  That is:

!!! FAILURE TO DO THIS CAN RESULT IN BROKEN BUILDS !!!

Failure to comply is punishable by death by torture. :)

P.S. It's not that dramatic in all cases, but this (in combination with some
GCC flags specific to the include type) is the best way I have found to be
absolutely 100% positive the local ones are being used (and we definitely
want to be absolutely 100% positive on that one).


git-svn-id: svn://localhost/ardour2/branches/3.0@4655 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-25 18:26:51 +00:00
16d9776646 Move waf up to top level, waf building of pbd, evoral, midi++
git-svn-id: svn://localhost/ardour2/branches/3.0@4654 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-25 17:51:42 +00:00
09f87d4f9f Upgrade to waf 1.5.3.
git-svn-id: svn://localhost/ardour2/branches/3.0@4651 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-25 16:41:27 +00:00
75c15679bf Only create a Curve for an AutomationList if we need it.
Fix crash on crossfade editor show (ticket 2442).


git-svn-id: svn://localhost/ardour2/branches/3.0@4641 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-19 19:42:25 +00:00
Hans Baier
96d62ba6b4 * FIXME in midi_util.h
git-svn-id: svn://localhost/ardour2/branches/3.0@4615 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-17 16:42:17 +00:00
f219a53744 Fix deadlock and potential race condition when editing MIDI.
git-svn-id: svn://localhost/ardour2/branches/3.0@4614 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-17 06:09:37 +00:00
022818b4a7 Fix the horrible mess that was anything related to sources and paths.
Most significant changes:

 - Factor out FileSource from AudioFileSource, use for SMFSource too
 - Explicitly pass embedded rather than mysterious name mangling or whatever
 - Destroy a ton of duplicated or very-nearly-duplicated code
 - Clean up and document all that weird source stuff in session.cc


git-svn-id: svn://localhost/ardour2/branches/3.0@4609 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-17 02:11:49 +00:00
Sampo Savolainen
87c7b62103 Fix memory leak.
git-svn-id: svn://localhost/ardour2/branches/3.0@4606 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-16 19:06:27 +00:00