13
0
Commit Graph

1323 Commits

Author SHA1 Message Date
d489a65dad Revert stupid r4975.
git-svn-id: svn://localhost/ardour2/branches/3.0@4984 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-04-16 14:34:56 +00:00
b90424cf80 merge new directory/file structure from newer vamp version via 2.0 (3993:4905)
git-svn-id: svn://localhost/ardour2/branches/3.0@4983 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-04-16 12:32:55 +00:00
1ff9e8afc0 merge 3578:4901 of thirdparty/rubberband/current
git-svn-id: svn://localhost/ardour2/branches/3.0@4982 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-04-16 00:53:20 +00:00
c2b12f05f4 FST code from 2.X branch
git-svn-id: svn://localhost/ardour2/branches/3.0@4981 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-04-16 00:43:41 +00:00
54d9f2f2d8 first half of the mega-by-hand-commit-by-commit merge from 2.X
git-svn-id: svn://localhost/ardour2/branches/3.0@4980 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-04-15 18:04:23 +00:00
Hans Baier
ece2bacb2c SMFSource: enhanced debugging output to reveal more of the problem
git-svn-id: svn://localhost/ardour2/branches/3.0@4976 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-04-14 10:44:47 +00:00
Hans Baier
ad2757c84f SMFSource: code readability
git-svn-id: svn://localhost/ardour2/branches/3.0@4975 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-04-14 10:38:23 +00:00
Hans Baier
625c9ac228 SMFSource / MIDISource: more readable variable names in read/write(_unlocked), added debugging output to diagnose recording bug (MIDI recording stops receiving events after a short while)
git-svn-id: svn://localhost/ardour2/branches/3.0@4974 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-04-14 10:13:06 +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
Hans Baier
b3c3d932cd Ticker: apply patch from lincoln, Thanks!
git-svn-id: svn://localhost/ardour2/branches/3.0@4841 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-03-16 16:10:10 +00:00
Carl Hetherington
0ac5ef6fab Fix compile.
git-svn-id: svn://localhost/ardour2/branches/3.0@4749 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-03-09 18:34:04 +00:00
Sampo Savolainen
bcd217ec8e Improvements to the plugin eq gui:
- phase correction for analysis
 - move gui elements to a more common location so that it's available for VSTs
   (needs packing in each PluginUI derived class though)


git-svn-id: svn://localhost/ardour2/branches/3.0@4745 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-03-07 11:17:06 +00:00
Sakari Bergen
e09c51251f Fix compiler warnings
git-svn-id: svn://localhost/ardour2/branches/3.0@4744 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-03-07 09:42:39 +00:00
Sampo Savolainen
bb20bcc7b6 Make it possible to consolidate/bounce ranges without applying processing
git-svn-id: svn://localhost/ardour2/branches/3.0@4743 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-03-06 19:28:39 +00:00
0697aed059 combobox width fixes from mtaht, backported from 2.X
git-svn-id: svn://localhost/ardour2/branches/3.0@4742 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-03-06 17:06:38 +00:00
55a367837a make track templates work, including a fix for the MidiTrack XML constructor
git-svn-id: svn://localhost/ardour2/branches/3.0@4735 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-03-05 17:27:05 +00:00
7ea68ecad6 add accessor for the Gtk::Main hidden inside Gtkmmext::UI
git-svn-id: svn://localhost/ardour2/branches/3.0@4730 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-03-05 12:25:15 +00:00
cb8ced74b5 prevent double-listing of LADSPA plugins caused by symlinks to library directories (e.g. lib64 -> lib)
git-svn-id: svn://localhost/ardour2/branches/3.0@4722 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-03-02 21:04:39 +00:00
c21479a3aa remove unneeded code in line_drag that was probably copy/pasted from control_point_drag (Ben Loftis, backported from 2.X)
git-svn-id: svn://localhost/ardour2/branches/3.0@4717 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-03-02 18:13:20 +00:00
9f4c7a9e9e track templates, backported from 2.X
git-svn-id: svn://localhost/ardour2/branches/3.0@4713 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-03-02 16:52:40 +00:00
f613d3fe14 recursive operation for PBD::PathScanner, backported from 2.X
git-svn-id: svn://localhost/ardour2/branches/3.0@4712 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-03-02 16:52:10 +00:00
Carl Hetherington
fb87fd6ffa Be more tolerant of session files where IOs connect to non-existant bundles.
git-svn-id: svn://localhost/ardour2/branches/3.0@4711 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-03-01 19:45:35 +00:00
Carl Hetherington
737ce09ef0 Slightly modified version of lincoln's patch for #2567. Thanks!
git-svn-id: svn://localhost/ardour2/branches/3.0@4708 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-27 23:47:43 +00:00
Carl Hetherington
1f81c127fe Remove some unused code.
git-svn-id: svn://localhost/ardour2/branches/3.0@4707 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-27 23:26:52 +00:00
9d52ae2f19 tweaks to get a VST-supporting 3.0 to build & startup
git-svn-id: svn://localhost/ardour2/branches/3.0@4705 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-27 22:52:39 +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
c54fe0e7cd Print more configuration summary stuff (sound libs).
git-svn-id: svn://localhost/ardour2/branches/3.0@4700 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-27 02:32:53 +00:00
9f77cd9e19 Step towards having both rubberband and soundtouch compiled in at once.
git-svn-id: svn://localhost/ardour2/branches/3.0@4697 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-27 00:59:30 +00:00
0a61e3893d Waf: build control surfaces.
git-svn-id: svn://localhost/ardour2/branches/3.0@4695 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-27 00:27:14 +00:00
6423f13fdf Fix bad initialization.
git-svn-id: svn://localhost/ardour2/branches/3.0@4686 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-26 20:53:07 +00:00
2d8df9e215 Waf: Build LV2 support.
git-svn-id: svn://localhost/ardour2/branches/3.0@4680 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-26 17:31:00 +00:00
0dac6b545b Waf: build UI/RC files, menu files, keybinding files, and fix paths in wrapper scripts.
Ardour should now build and run when built with waf from a clean svn checkout.


git-svn-id: svn://localhost/ardour2/branches/3.0@4676 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-26 04:41:09 +00:00
802fac5ea2 Don't link against VAmp plugins.
git-svn-id: svn://localhost/ardour2/branches/3.0@4675 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-26 03:35:15 +00:00
906567d867 Use actually normal taglib headers (apparently it completely changes them on install. More idiotically layed out library tree, ever.).
Add symlinks to taglib source tree to mimick installed tree to avoid the copy thing.


git-svn-id: svn://localhost/ardour2/branches/3.0@4674 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-26 03:24:05 +00:00
b80aa1fa9d Use normal taglib include paths.
git-svn-id: svn://localhost/ardour2/branches/3.0@4673 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-26 02:48:07 +00:00
b4d8dd9613 Use quotes for taglib includes.
git-svn-id: svn://localhost/ardour2/branches/3.0@4672 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-26 02:41:50 +00:00
76f242cb80 Version file building stuff.
Ardour should now compile from a fresh svn checkout using only waf.


git-svn-id: svn://localhost/ardour2/branches/3.0@4671 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-26 02:24:16 +00:00
593ffe8033 Build VAmp plugins.
git-svn-id: svn://localhost/ardour2/branches/3.0@4670 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-26 01:34:03 +00:00
1d516ac95a Waf building of rubberband.
Use rubberband over soundtouch with waf for the time being.


git-svn-id: svn://localhost/ardour2/branches/3.0@4669 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-26 01:22:20 +00:00
03536cd399 Fix a bunch of warnings.
Clean up.


git-svn-id: svn://localhost/ardour2/branches/3.0@4668 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-26 00:58:35 +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
b7753d292b Add missing gtk2_ardour wscript.
Check for libraries in libardour wscript (instead of gtk2_ardour) where appropriate.


git-svn-id: svn://localhost/ardour2/branches/3.0@4665 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-25 23:59:55 +00:00
e2353c67fa Add missing gtkmm2ext wscript.
git-svn-id: svn://localhost/ardour2/branches/3.0@4663 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-25 23:48:10 +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
310d68b953 Waf building of libardour (yay!).
git-svn-id: svn://localhost/ardour2/branches/3.0@4661 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-25 21:48:32 +00:00
5fe3401814 Waf building of taglib and vamp-sdk.
git-svn-id: svn://localhost/ardour2/branches/3.0@4660 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-25 19:36:16 +00:00
5b9433f42f Fix stupid warnings.
git-svn-id: svn://localhost/ardour2/branches/3.0@4659 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-25 19:35:32 +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
24f5ad743e Quote includes for control_protocol.
git-svn-id: svn://localhost/ardour2/branches/3.0@4656 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-25 18:39:39 +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
caf103c0af Fix warnings.
git-svn-id: svn://localhost/ardour2/branches/3.0@4653 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-25 17:39:19 +00:00
77a71ac3e0 Fix empty for loop warning in RingBuffer constructor... and scary indentation... this is what was intended here, yes?
git-svn-id: svn://localhost/ardour2/branches/3.0@4652 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-25 17:23:15 +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
c9e5903e73 Clean up xml++.h and xml++.cc in Ardour style.
No functional changes.
(We've diverged far enough for it to not matter, and are about to diverge even more, so might as well).


git-svn-id: svn://localhost/ardour2/branches/3.0@4649 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-22 20:52:34 +00:00
5b04ddf424 Make commands noncopyable (they are definitely not copy safe).
memento_command.h style.


git-svn-id: svn://localhost/ardour2/branches/3.0@4648 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-22 17:37:33 +00:00
df4e6f2341 Fix recording of the last disk chunk's worth of MIDI data.
git-svn-id: svn://localhost/ardour2/branches/3.0@4645 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-20 01:20:03 +00:00
c9582da233 Make source length a dynamic thing.
Update MIDI region length (actually and visually) when position changes.


git-svn-id: svn://localhost/ardour2/branches/3.0@4644 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-20 00:30:42 +00:00
bed0d89337 Clean up Region interface, remove Readable stub kludge.
git-svn-id: svn://localhost/ardour2/branches/3.0@4643 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-19 21:06:56 +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
8a28ea6154 Introduce new time for session-relative frame time, and make source interface capable of handling 64-bit long sessions.
sframes_t is "session frames".  The rules for time stamps are:
 - Anything relative to transport time, session position, etc, should be sframes_t
 - Anything relative to jack cycles, including the length thereof, should be nframes_t

To support sessions which exceed UINT32_MAX frames, we need to replace all the uses of
nframes_t for session time with sframes_t, and make sure the conversions are sound.
This does not depend on jack's nframes_t; that we are using the same type at all right now was an oops.

This is also be kinda nice for readability since the two different time bases have different types...


git-svn-id: svn://localhost/ardour2/branches/3.0@4636 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-19 05:45:11 +00:00
0f71728a92 Interpret tempo time based on read position (not source timeline position which is more or less meaningless).
Move time conversion into the region view rather than the source.
Adapt MIDI (including controllers) regions to the destination tempo when moved (e.g. dragging a region to a location with half the tempo will make the notes twice as long).


git-svn-id: svn://localhost/ardour2/branches/3.0@4635 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-19 04:12:54 +00:00
8f572c3d3f Readable is not as generic as its name implies ;)
git-svn-id: svn://localhost/ardour2/branches/3.0@4634 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-19 01:56:58 +00:00
067faeca62 Remove unused Session::curves.
git-svn-id: svn://localhost/ardour2/branches/3.0@4633 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-19 01:24:34 +00:00
e209e0d471 Remove empty files.
git-svn-id: svn://localhost/ardour2/branches/3.0@4629 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-18 23:58:21 +00:00
cbb59ddbce Fix 'sticky' sliders when MIDI control feedback is enabled.
git-svn-id: svn://localhost/ardour2/branches/3.0@4628 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-18 23:54:41 +00:00
9cfa3e2bf6 Fix MIDI control parameter mapping to work with controls that aren't [0..1] like gain (fix ticket #0002553).
git-svn-id: svn://localhost/ardour2/branches/3.0@4627 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-18 22:30:06 +00:00
3ccd34ec7e Style.
git-svn-id: svn://localhost/ardour2/branches/3.0@4626 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-18 20:57:58 +00:00
1f9c3f34d9 Fix MIDI controller feedback.
Make control surfaces menu less weird.


git-svn-id: svn://localhost/ardour2/branches/3.0@4625 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-18 20:53:54 +00:00
22088e77a7 Fix ardour2 -> ardour3 stuff in po files.
git-svn-id: svn://localhost/ardour2/branches/3.0@4623 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-18 18:51:50 +00:00
227eca4054 Fix ardour2 -> ardour3 issues.
git-svn-id: svn://localhost/ardour2/branches/3.0@4622 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-18 18:32:13 +00:00
2463be97f7 Make sure Evoral::MIDIEvent XML stuff is entirely unused in midi++ for now (resolve ticket #0002491).
Remove empty midi++ README etc files (and ancient nearly-empty midi++ ChangeLog).


git-svn-id: svn://localhost/ardour2/branches/3.0@4621 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-18 18:04:54 +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
3f24977735 Make a bunch of stuff boost::noncopyable.
Clean up.


git-svn-id: svn://localhost/ardour2/branches/3.0@4613 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-17 03:49:32 +00:00
4fced02c0b Fix crazy spacey tabs, width, other super relevant rocket scientist type things.
git-svn-id: svn://localhost/ardour2/branches/3.0@4612 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-17 02:45:58 +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
Carl Hetherington
4565b73a39 Fix for visual glitch due to race between Editor::update_current_screen being called and a locate event being processed.
git-svn-id: svn://localhost/ardour2/branches/3.0@4608 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-17 00:12:22 +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
900309993c Move duplicated AudioFileSource::Flags and SMFSource::Flags into Source.
Clean up source stuff.


git-svn-id: svn://localhost/ardour2/branches/3.0@4605 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-16 18:08:22 +00:00
64bf6f004a Fix a bunch of the ol' trivial audio-specific-for-no-particular-reason things.
Re-addition of this sort of thing is now officially punishable by death ;)


git-svn-id: svn://localhost/ardour2/branches/3.0@4603 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-16 07:04:27 +00:00
f12cfb3d87 Fix crash iterating over sequences with no controls (and Sequence iterator sanity in general).
git-svn-id: svn://localhost/ardour2/branches/3.0@4602 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-16 07:02:28 +00:00
458c588e2c Don't bind playlist_modified with a shared_ptr<Playlist> parameter.
Clean up.


git-svn-id: svn://localhost/ardour2/branches/3.0@4599 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-16 05:13:05 +00:00
5f7b4de024 Time unit translation for AutomationLine (correctly display MIDI controller data).
git-svn-id: svn://localhost/ardour2/branches/3.0@4597 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-16 04:46:45 +00:00
0ef53a2d34 Fix crash on iteration over an empty sequence and/or recording controllers only.
git-svn-id: svn://localhost/ardour2/branches/3.0@4596 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-16 04:46:06 +00:00
93d7040d04 Fix deadlock issues.
Add IdentityConverter for when no conversion is actually needed.


git-svn-id: svn://localhost/ardour2/branches/3.0@4595 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-16 04:39:34 +00:00
3963d2b0b2 Move all beats <-> frames time conversion into a single object that can be passed around.
This has 3 main benefits:
 - All conversion code is in one place (less duplication, potential bugs)
 - The conversion method can be passed to things that are ignorant
   of the actual time units involved, information required, etc.
   (In the future it would be nice to have user selectable tempo/frame time)
 - It should be relatively simple now to support tempo changes part-way
   through a MIDI region (at least architecturally speaking)


git-svn-id: svn://localhost/ardour2/branches/3.0@4594 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-16 02:51:16 +00:00
fd1a3cfa4c Gracefully ignore illegal MIDI events at the buffer level (i.e. from Jack).
Ardour should now be able to more or less tolerate crazy incoming MIDI (except for SYSEX).


git-svn-id: svn://localhost/ardour2/branches/3.0@4592 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-16 00:53:26 +00:00
85ab341795 Gracefully ignore illegal MIDI events.
git-svn-id: svn://localhost/ardour2/branches/3.0@4591 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-16 00:36:11 +00:00
473170200d Rewrite Sequence::const_iterator.
Fixes crash bug when seeking back and forth from start to end of session.
Not sure about other things, but it makes a lot more sense now anyway...


git-svn-id: svn://localhost/ardour2/branches/3.0@4590 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-16 00:16:28 +00:00
1380f4fafb Trim include dependency tree (particularly on evoral/Sequence.hpp).
git-svn-id: svn://localhost/ardour2/branches/3.0@4589 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-15 23:47:09 +00:00
72f2f6e47e Clean up fugly debug printing stuff.
git-svn-id: svn://localhost/ardour2/branches/3.0@4588 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-15 22:10:32 +00:00
3cfb9126af Fix crash on reading meta event.
git-svn-id: svn://localhost/ardour2/branches/3.0@4586 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-15 20:50:20 +00:00
59972b5550 Factor out region layering.
Correctly layer automation regions to match the stacking of their 'real' counterparts.


git-svn-id: svn://localhost/ardour2/branches/3.0@4585 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-15 20:31:05 +00:00
166395c96b Fix genererally retarded and broken note range / diskstream display / etc. related things (correctly display region contents on initial session load).
git-svn-id: svn://localhost/ardour2/branches/3.0@4583 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-15 19:44:27 +00:00
ecaf107ed3 The Big Change: Store time in MidiModel as tempo time, not frame time.
The time stamp of an event is now always tempo, from file to model and
back again.  Frame time is only relevant at playback or recording time,
in the audio thread (MidiModel and MidiBuffer).

I think perhaps we don't need to change the actual time from double (which is
convenient for math), it is the time base conversion that caused problems.
Using a correct equality comparison (i.e.  not == which is not correct for
floating point) should probably make the undo issues go away, in 99.99% of
cases anyway.

There's almost certainly some regressions in here somewhere, but they do not
seem to be time related.  The bugs I'm hitting in testing are old ones that
seem unrelated now, so it's checkpoint time.

This sets us up for fancy things like tempo map import and tempo/meter changes
halfway through MIDI regions, but for now it's still assumed that the tempo
at the start of the region is valid for the duration of the entire region.


git-svn-id: svn://localhost/ardour2/branches/3.0@4582 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-15 17:30:42 +00:00
425966a696 Make smf_track_get_next_event gracefully handle empty tracks.
git-svn-id: svn://localhost/ardour2/branches/3.0@4581 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-15 17:16:58 +00:00
4c9ec5c9c0 Commit of the century, right here.
git-svn-id: svn://localhost/ardour2/branches/3.0@4580 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-15 03:51:49 +00:00
64e69c36da Oops. Fix XML stuff in GUI as well.
git-svn-id: svn://localhost/ardour2/branches/3.0@4579 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-15 03:45:00 +00:00
9462374e29 Session XML style consistency (tag names are capitalized).
One thing left, this weird "end-marker-is-free" in <Config>.  Is this really a config option?  Anyone?


git-svn-id: svn://localhost/ardour2/branches/3.0@4577 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-15 03:21:30 +00:00
74ff55f835 Tidy, remove dead code.
git-svn-id: svn://localhost/ardour2/branches/3.0@4576 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-15 03:00:04 +00:00
4b3b7fa952 Tidy.
git-svn-id: svn://localhost/ardour2/branches/3.0@4575 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-15 02:36:15 +00:00
67ce82c9b4 Shutup.
git-svn-id: svn://localhost/ardour2/branches/3.0@4574 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-15 02:14:23 +00:00
0d7936d823 Cache file position in SMFSource::read_unlocked (i.e. don't seek to start and search every single time).
git-svn-id: svn://localhost/ardour2/branches/3.0@4573 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-15 02:09:58 +00:00
41ac4afff5 Clean up.
git-svn-id: svn://localhost/ardour2/branches/3.0@4572 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-15 01:53:06 +00:00
5d519f8bb1 De-templatify Evoral::SMF which has no concept of time other than SMF time.
git-svn-id: svn://localhost/ardour2/branches/3.0@4571 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-15 01:32:41 +00:00
5a48f99f72 Use nframes_t for timestamps of real (jack) time MIDI events (i.e. in MidiBuffer and MidiRingBuffer).
Use iterator interface of Sequence to read events in a MIDISource rather than Sequence::read, avoiding timestamp confusion.
Disable no longer useful Sequence::read.


git-svn-id: svn://localhost/ardour2/branches/3.0@4570 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-15 01:24:26 +00:00
aefa9f0938 Tidy.
git-svn-id: svn://localhost/ardour2/branches/3.0@4569 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-14 23:48:18 +00:00
de2681f7cd Remove superfluous typedefs.
Don't set range on sysex parameters (fix warning).


git-svn-id: svn://localhost/ardour2/branches/3.0@4568 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-14 23:41:05 +00:00
d0cc3120ae Make SMF::append_event_delta take a buffer and a size rather than an Event (no point, more generic, etc.).
git-svn-id: svn://localhost/ardour2/branches/3.0@4567 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-14 22:52:38 +00:00
ea37584cac Const correctness.
git-svn-id: svn://localhost/ardour2/branches/3.0@4566 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-14 22:49:25 +00:00
f8d171d297 Remove unused (and timestamp type nasty) last_event_time() from SMF.
I swear I already did this.


git-svn-id: svn://localhost/ardour2/branches/3.0@4564 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-14 22:40:55 +00:00
3d4d0477f6 While I'm doing trivial prettification things and not giving a damn about superficial divergence:
- Remove tab width assumption in struct members that looked atrocious at ts=4
- Line up function names for easier/faster readability


git-svn-id: svn://localhost/ardour2/branches/3.0@4563 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-14 22:32:36 +00:00
1fd221ed1c Line wrap at 100 lines so I can read things :).
Formatting changes only.


git-svn-id: svn://localhost/ardour2/branches/3.0@4562 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-14 22:27:17 +00:00
cdbb1f898e Update for libsmf API changes.
git-svn-id: svn://localhost/ardour2/branches/3.0@4561 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-14 22:23:40 +00:00
8249cfb6a7 Fix types to be warning clean on 64 bit.
git-svn-id: svn://localhost/ardour2/branches/3.0@4560 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-14 22:22:55 +00:00
464d3d3ab4 Update autowaf (fix mandatory header check).
git-svn-id: svn://localhost/ardour2/branches/3.0@4559 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-14 20:53:51 +00:00
80e54c6ea0 MIDI robustness.
- Separate SMF::open and SMF::create, more powerful interface for both.
- Correctly handle note ons with velocity 0 as note offs in sequence.
- Use SMF (i.e. libsmf) for MIDI import


git-svn-id: svn://localhost/ardour2/branches/3.0@4558 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-14 20:52:15 +00:00
Carl Hetherington
9a3734a6bd Make DnD copy processors using their XML representations. Remove unused
copy constructors from the Processor hierarchy, and declare them private
to explicitly disallow copy construction.


git-svn-id: svn://localhost/ardour2/branches/3.0@4556 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-14 19:45:30 +00:00
b35f308894 Fix most absurd function name I've seen in a while.
git-svn-id: svn://localhost/ardour2/branches/3.0@4555 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-14 17:59:58 +00:00
b2a051f6c6 More powerful SMF::open interface.
git-svn-id: svn://localhost/ardour2/branches/3.0@4554 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-14 17:54:45 +00:00
d439459589 Remove abstract MIDIFile interface (maintaining interface with old crap was getting annoying).
git-svn-id: svn://localhost/ardour2/branches/3.0@4553 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-14 17:39:49 +00:00
5ffdf1857e LibSMF -> SMF
git-svn-id: svn://localhost/ardour2/branches/3.0@4552 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-14 17:35:34 +00:00
6314c69971 SMF -> OldSMF
git-svn-id: svn://localhost/ardour2/branches/3.0@4551 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-14 17:28:57 +00:00
Carl Hetherington
50d7d19614 Fix send copying by paste and drag n drop.
git-svn-id: svn://localhost/ardour2/branches/3.0@4550 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-14 17:28:01 +00:00
Hans Baier
e9fde9baa7 * second part of the last fix
git-svn-id: svn://localhost/ardour2/branches/3.0@4549 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-14 07:21:01 +00:00
Hans Baier
90ee153fc1 * fix concerning a comment on issue 2541: Go back to the last MIDI beat on stop
git-svn-id: svn://localhost/ardour2/branches/3.0@4548 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-14 07:18:38 +00:00
ef172d7ad6 Less weak plugin preset system (maybe AU preset stuff can use the 'normal' thing instead of being all weird now?).
LV2 preset support as implemented in svn calf plugins (experimental extension).


git-svn-id: svn://localhost/ardour2/branches/3.0@4547 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-14 03:28:12 +00:00
f609d97ccd Mandatory check for boost headers.
git-svn-id: svn://localhost/ardour2/branches/3.0@4546 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-14 01:00:15 +00:00
Hans Baier
92243228be *session.h whitespace
git-svn-id: svn://localhost/ardour2/branches/3.0@4545 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-13 08:29:23 +00:00
Hans Baier
0800b59f61 * MIDIClock_Slave: fixed bugs:
- not synced to session.audible_frame() but to session.transport_frame()
	- failed asserts in song position


git-svn-id: svn://localhost/ardour2/branches/3.0@4543 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-13 08:29:01 +00:00
Hans Baier
bb1aa327f8 * MIDIClock_Slave: Fix for devices that always send MIDI clock (not just between start/stop)
git-svn-id: svn://localhost/ardour2/branches/3.0@4542 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-13 08:28:54 +00:00
Hans Baier
328691c9d1 * disabled debugging output
git-svn-id: svn://localhost/ardour2/branches/3.0@4541 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-12 23:28:58 +00:00
Hans Baier
e7c7c33563 * Evoral: SMFTest: added createNewFileTest (passes)
git-svn-id: svn://localhost/ardour2/branches/3.0@4540 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-12 23:28:51 +00:00
Hans Baier
9d33176b49 * Swapped MidiSource to LibSMF
* integrated libsmf into scons


git-svn-id: svn://localhost/ardour2/branches/3.0@4539 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-12 23:28:32 +00:00
Hans Baier
b1cd183511 * MIDI clock slave: issues 2541 and 2542 ready for testing (cant test myself due to lack of hardware)
* tempo.cc/tempo.h: formatting / whitespace


git-svn-id: svn://localhost/ardour2/branches/3.0@4538 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-12 10:14:22 +00:00
550613a898 verbosity--
git-svn-id: svn://localhost/ardour2/branches/3.0@4536 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-11 20:47:40 +00:00
3d1b648130 Remove unused (and weirdly typed) time parameter from begin_write.
Fix append_event_unlocked shadowing.


git-svn-id: svn://localhost/ardour2/branches/3.0@4535 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-11 20:37:22 +00:00
43c9e2a121 verbosity--
git-svn-id: svn://localhost/ardour2/branches/3.0@4534 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-11 20:20:41 +00:00
9579ea0801 StandardMIDIFile -> MIDIFile.
git-svn-id: svn://localhost/ardour2/branches/3.0@4533 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-11 20:15:25 +00:00
33bbc5cd84 Detect libsmf error and throw exceptions.
git-svn-id: svn://localhost/ardour2/branches/3.0@4532 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-11 17:59:33 +00:00
13bcd43423 Include stripped down libsmf code internally.
git-svn-id: svn://localhost/ardour2/branches/3.0@4531 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-11 17:38:40 +00:00
Hans Baier
947077c12e * introduced dependency: libsmf-1.2
* extracted Interface from SMF: StandardMIDIFile
* first implementation of StandardMIDIFile based on libsmf that passes basic test


git-svn-id: svn://localhost/ardour2/branches/3.0@4529 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-11 09:54:31 +00:00
Carl Hetherington
567f37f8eb Offer routes on mixer strip IO menus. Fixes to these menus on MIDI routes.
git-svn-id: svn://localhost/ardour2/branches/3.0@4528 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-11 02:14:01 +00:00
Carl Hetherington
a192ccaebc Add connected_to ()
git-svn-id: svn://localhost/ardour2/branches/3.0@4527 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-11 02:13:15 +00:00
Carl Hetherington
9b6d5a9361 Remove declaration of undefined method.
git-svn-id: svn://localhost/ardour2/branches/3.0@4526 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-11 02:12:41 +00:00
Carl Hetherington
d469cc3e3a Remove internal ports.
git-svn-id: svn://localhost/ardour2/branches/3.0@4525 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-11 00:58:24 +00:00
Hans Baier
fe4e98a729 *Evoral: Sequence: forgot to commit that
git-svn-id: svn://localhost/ardour2/branches/3.0@4524 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-11 00:00:41 +00:00
Hans Baier
dcc25d795b * Evoral: Added Unit test for SMF
git-svn-id: svn://localhost/ardour2/branches/3.0@4523 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-10 23:58:02 +00:00