David Robillard
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
David Robillard
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
David Robillard
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
David Robillard
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
David Robillard
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
David Robillard
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
David Robillard
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
David Robillard
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
David Robillard
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
David Robillard
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
David Robillard
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
David Robillard
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
David Robillard
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
David Robillard
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
David Robillard
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
David Robillard
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
David Robillard
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
David Robillard
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
David Robillard
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
David Robillard
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
David Robillard
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
David Robillard
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
David Robillard
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
David Robillard
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
David Robillard
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
David Robillard
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
David Robillard
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
David Robillard
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
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
David Robillard
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
David Robillard
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
David Robillard
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
David Robillard
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
David Robillard
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
David Robillard
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
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
ce8065fea8
* Evoral::Sequence: conditional compile for debugging output
...
git-svn-id: svn://localhost/ardour2/branches/3.0@4522 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-10 23:57:52 +00:00
Hans Baier
494e7feec6
* Code readability: Template parameter <T> -> <Time>
...
git-svn-id: svn://localhost/ardour2/branches/3.0@4521 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-10 22:06:56 +00:00
Hans Baier
1872d48507
*Evoral::SMF fix reading/writing of SysEx Events
...
git-svn-id: svn://localhost/ardour2/branches/3.0@4517 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-10 08:43:35 +00:00
Hans Baier
9734fa3e93
* Sequence: added asserts
...
* sequence.cpp completed first test
git-svn-id: svn://localhost/ardour2/branches/3.0@4504 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-09 08:49:57 +00:00
Hans Baier
3d594b460b
* Add SysEx Support to MidiModel / SMF
...
git-svn-id: svn://localhost/ardour2/branches/3.0@4492 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-06 20:31:00 +00:00
Hans Baier
db77cb9212
* more pleasant template parameter names in (MIDI)Event
...
git-svn-id: svn://localhost/ardour2/branches/3.0@4487 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-03 08:46:44 +00:00
Hans Baier
5c73fc42c4
* midi_event_size(uchar status): return size including status / handle sysex
...
git-svn-id: svn://localhost/ardour2/branches/3.0@4486 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-03 08:46:24 +00:00
David Robillard
166ef64e3d
Make (MIDI) event time stamp type a template parameter.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@4473 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-02 02:36:05 +00:00
David Robillard
ead5dd4568
Tidy.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@4472 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-02 00:20:18 +00:00
Hans Baier
6fe0dc459e
* enlage MidiBuffer size to 128 bytes to allow for sysex events
...
git-svn-id: svn://localhost/ardour2/branches/3.0@4462 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-30 06:21:14 +00:00
Hans Baier
582555c337
* re-enable assertion about controller values (probably corrupt data in my Session)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@4461 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-30 00:27:02 +00:00