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
789bd1d007
More contrast for MIDI notes.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@4578 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-15 03:37:08 +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
b0091c899b
If a bundle's channel has no ports associated with it, you can't connect
...
it to anything; mark things up accordingly in the port matrix.
git-svn-id: svn://localhost/ardour2/branches/3.0@4557 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-14 20:17:45 +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
f93ca1349c
* Added CanvasSysEx class for displaying SysExes
...
git-svn-id: svn://localhost/ardour2/branches/3.0@4544 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-13 08:29:12 +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
Carl Hetherington
0522149d20
Fix segfault on:
...
1. move a region to a new track.
2. trim it.
git-svn-id: svn://localhost/ardour2/branches/3.0@4537 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-11 23:51:52 +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