ardour.git
15 years ago*** NEW CODING POLICY ***
David Robillard [Wed, 25 Feb 2009 18:26:51 +0000 (18:26 +0000)]
*** 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

15 years agoMove waf up to top level, waf building of pbd, evoral, midi++
David Robillard [Wed, 25 Feb 2009 17:51:42 +0000 (17:51 +0000)]
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

15 years agoFix warnings.
David Robillard [Wed, 25 Feb 2009 17:39:19 +0000 (17:39 +0000)]
Fix warnings.

git-svn-id: svn://localhost/ardour2/branches/3.0@4653 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoFix empty for loop warning in RingBuffer constructor... and scary indentation......
David Robillard [Wed, 25 Feb 2009 17:23:15 +0000 (17:23 +0000)]
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

15 years agoUpgrade to waf 1.5.3.
David Robillard [Wed, 25 Feb 2009 16:41:27 +0000 (16:41 +0000)]
Upgrade to waf 1.5.3.

git-svn-id: svn://localhost/ardour2/branches/3.0@4651 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoClean up xml++.h and xml++.cc in Ardour style.
David Robillard [Sun, 22 Feb 2009 20:52:34 +0000 (20:52 +0000)]
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

15 years agoMake commands noncopyable (they are definitely not copy safe).
David Robillard [Sun, 22 Feb 2009 17:37:33 +0000 (17:37 +0000)]
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

15 years agoFix recording of the last disk chunk's worth of MIDI data.
David Robillard [Fri, 20 Feb 2009 01:20:03 +0000 (01:20 +0000)]
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

15 years agoMake source length a dynamic thing.
David Robillard [Fri, 20 Feb 2009 00:30:42 +0000 (00:30 +0000)]
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

15 years agoClean up Region interface, remove Readable stub kludge.
David Robillard [Thu, 19 Feb 2009 21:06:56 +0000 (21:06 +0000)]
Clean up Region interface, remove Readable stub kludge.

git-svn-id: svn://localhost/ardour2/branches/3.0@4643 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoOnly create a Curve for an AutomationList if we need it.
David Robillard [Thu, 19 Feb 2009 19:42:25 +0000 (19:42 +0000)]
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

15 years agoFix crash when using pencil on empty track areas while zoomer is fully zoomed out...
David Robillard [Thu, 19 Feb 2009 18:10:50 +0000 (18:10 +0000)]
Fix crash when using pencil on empty track areas while zoomer is fully zoomed out (and probably pretty much everything else when track is fully zoomed out...).

git-svn-id: svn://localhost/ardour2/branches/3.0@4640 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoCheck for alsa correctly. Hopefully.
David Robillard [Thu, 19 Feb 2009 17:57:34 +0000 (17:57 +0000)]
Check for alsa correctly.  Hopefully.

git-svn-id: svn://localhost/ardour2/branches/3.0@4639 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoIntroduce new time for session-relative frame time, and make source interface capable...
David Robillard [Thu, 19 Feb 2009 05:45:11 +0000 (05:45 +0000)]
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

15 years agoInterpret tempo time based on read position (not source timeline position which is...
David Robillard [Thu, 19 Feb 2009 04:12:54 +0000 (04:12 +0000)]
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

15 years agoReadable is not as generic as its name implies ;)
David Robillard [Thu, 19 Feb 2009 01:56:58 +0000 (01:56 +0000)]
Readable is not as generic as its name implies ;)

git-svn-id: svn://localhost/ardour2/branches/3.0@4634 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoRemove unused Session::curves.
David Robillard [Thu, 19 Feb 2009 01:24:34 +0000 (01:24 +0000)]
Remove unused Session::curves.

git-svn-id: svn://localhost/ardour2/branches/3.0@4633 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoRemove clear button from automation track headers so controller isn't cut off at...
David Robillard [Thu, 19 Feb 2009 00:37:18 +0000 (00:37 +0000)]
Remove clear button from automation track headers so controller isn't cut off at normal/default track height.

git-svn-id: svn://localhost/ardour2/branches/3.0@4632 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoFix insane formatting (how did this even happen? copy paste from an email diff or...
David Robillard [Thu, 19 Feb 2009 00:25:24 +0000 (00:25 +0000)]
Fix insane formatting (how did this even happen? copy paste from an email diff or something?).

git-svn-id: svn://localhost/ardour2/branches/3.0@4631 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoI am become death, destroyer of boilerplate.
David Robillard [Thu, 19 Feb 2009 00:15:54 +0000 (00:15 +0000)]
I am become death, destroyer of boilerplate.

git-svn-id: svn://localhost/ardour2/branches/3.0@4630 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoRemove empty files.
David Robillard [Wed, 18 Feb 2009 23:58:21 +0000 (23:58 +0000)]
Remove empty files.

git-svn-id: svn://localhost/ardour2/branches/3.0@4629 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoFix 'sticky' sliders when MIDI control feedback is enabled.
David Robillard [Wed, 18 Feb 2009 23:54:41 +0000 (23:54 +0000)]
Fix 'sticky' sliders when MIDI control feedback is enabled.

git-svn-id: svn://localhost/ardour2/branches/3.0@4628 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoFix MIDI control parameter mapping to work with controls that aren't [0..1] like...
David Robillard [Wed, 18 Feb 2009 22:30:06 +0000 (22:30 +0000)]
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

15 years agoStyle.
David Robillard [Wed, 18 Feb 2009 20:57:58 +0000 (20:57 +0000)]
Style.

git-svn-id: svn://localhost/ardour2/branches/3.0@4626 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoFix MIDI controller feedback.
David Robillard [Wed, 18 Feb 2009 20:53:54 +0000 (20:53 +0000)]
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

15 years agoFix ardour2 -> ardour3 stuff in po files.
David Robillard [Wed, 18 Feb 2009 18:51:50 +0000 (18:51 +0000)]
Fix ardour2 -> ardour3 stuff in po files.

git-svn-id: svn://localhost/ardour2/branches/3.0@4623 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoFix ardour2 -> ardour3 issues.
David Robillard [Wed, 18 Feb 2009 18:32:13 +0000 (18:32 +0000)]
Fix ardour2 -> ardour3 issues.

git-svn-id: svn://localhost/ardour2/branches/3.0@4622 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoMake sure Evoral::MIDIEvent XML stuff is entirely unused in midi++ for now (resolve...
David Robillard [Wed, 18 Feb 2009 18:04:54 +0000 (18:04 +0000)]
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

15 years ago* .gitignore
Hans Baier [Tue, 17 Feb 2009 16:42:22 +0000 (16:42 +0000)]
* .gitignore

git-svn-id: svn://localhost/ardour2/branches/3.0@4616 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years ago* FIXME in midi_util.h
Hans Baier [Tue, 17 Feb 2009 16:42:17 +0000 (16:42 +0000)]
* FIXME in midi_util.h

git-svn-id: svn://localhost/ardour2/branches/3.0@4615 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoFix deadlock and potential race condition when editing MIDI.
David Robillard [Tue, 17 Feb 2009 06:09:37 +0000 (06:09 +0000)]
Fix deadlock and potential race condition when editing MIDI.

git-svn-id: svn://localhost/ardour2/branches/3.0@4614 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoMake a bunch of stuff boost::noncopyable.
David Robillard [Tue, 17 Feb 2009 03:49:32 +0000 (03:49 +0000)]
Make a bunch of stuff boost::noncopyable.
Clean up.

git-svn-id: svn://localhost/ardour2/branches/3.0@4613 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoFix crazy spacey tabs, width, other super relevant rocket scientist type things.
David Robillard [Tue, 17 Feb 2009 02:45:58 +0000 (02:45 +0000)]
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

15 years agoMake range selection context menu work again.
Carl Hetherington [Tue, 17 Feb 2009 02:34:38 +0000 (02:34 +0000)]
Make range selection context menu work again.

git-svn-id: svn://localhost/ardour2/branches/3.0@4611 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoRemove unnecessary/unused template parameter from canvas sysex flags.
David Robillard [Tue, 17 Feb 2009 02:19:16 +0000 (02:19 +0000)]
Remove unnecessary/unused template parameter from canvas sysex flags.
Add license headers to canvas sysex files (tsk, tsk).

git-svn-id: svn://localhost/ardour2/branches/3.0@4610 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoFix the horrible mess that was anything related to sources and paths.
David Robillard [Tue, 17 Feb 2009 02:11:49 +0000 (02:11 +0000)]
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

15 years agoFix for visual glitch due to race between Editor::update_current_screen being called...
Carl Hetherington [Tue, 17 Feb 2009 00:12:22 +0000 (00:12 +0000)]
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

15 years agoFix crash on audio record (time converter segfault wackiness).
David Robillard [Mon, 16 Feb 2009 23:32:59 +0000 (23:32 +0000)]
Fix crash on audio record (time converter segfault wackiness).

git-svn-id: svn://localhost/ardour2/branches/3.0@4607 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoFix memory leak.
Sampo Savolainen [Mon, 16 Feb 2009 19:06:27 +0000 (19:06 +0000)]
Fix memory leak.

git-svn-id: svn://localhost/ardour2/branches/3.0@4606 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoMove duplicated AudioFileSource::Flags and SMFSource::Flags into Source.
David Robillard [Mon, 16 Feb 2009 18:08:22 +0000 (18:08 +0000)]
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

15 years ago* First prototype of SysEx GUI
Hans Baier [Mon, 16 Feb 2009 09:51:40 +0000 (09:51 +0000)]
* First prototype of SysEx GUI

git-svn-id: svn://localhost/ardour2/branches/3.0@4604 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoFix a bunch of the ol' trivial audio-specific-for-no-particular-reason things.
David Robillard [Mon, 16 Feb 2009 07:04:27 +0000 (07:04 +0000)]
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

15 years agoFix crash iterating over sequences with no controls (and Sequence iterator sanity...
David Robillard [Mon, 16 Feb 2009 07:02:28 +0000 (07:02 +0000)]
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

15 years agoFix time / positioning of PC flags (beat time).
David Robillard [Mon, 16 Feb 2009 05:54:12 +0000 (05:54 +0000)]
Fix time / positioning of PC flags (beat time).
Fix needless string copying in flag stuff.
Clean up.

git-svn-id: svn://localhost/ardour2/branches/3.0@4601 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoDon't do a linear search through controls for program change for no reason.
David Robillard [Mon, 16 Feb 2009 05:33:23 +0000 (05:33 +0000)]
Don't do a linear search through controls for program change for no reason.
Clean up.

git-svn-id: svn://localhost/ardour2/branches/3.0@4600 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoDon't bind playlist_modified with a shared_ptr<Playlist> parameter.
David Robillard [Mon, 16 Feb 2009 05:13:05 +0000 (05:13 +0000)]
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

15 years agoFix crash when NullAutomation is created (which shouldn't be happening, but hey...).
David Robillard [Mon, 16 Feb 2009 04:53:01 +0000 (04:53 +0000)]
Fix crash when NullAutomation is created (which shouldn't be happening, but hey...).

git-svn-id: svn://localhost/ardour2/branches/3.0@4598 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoTime unit translation for AutomationLine (correctly display MIDI controller data).
David Robillard [Mon, 16 Feb 2009 04:46:45 +0000 (04:46 +0000)]
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

15 years agoFix crash on iteration over an empty sequence and/or recording controllers only.
David Robillard [Mon, 16 Feb 2009 04:46:06 +0000 (04:46 +0000)]
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

15 years agoFix deadlock issues.
David Robillard [Mon, 16 Feb 2009 04:39:34 +0000 (04:39 +0000)]
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

15 years agoMove all beats <-> frames time conversion into a single object that can be passed...
David Robillard [Mon, 16 Feb 2009 02:51:16 +0000 (02:51 +0000)]
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

15 years agoFix horizontal positioning of PC flags.
David Robillard [Mon, 16 Feb 2009 01:12:49 +0000 (01:12 +0000)]
Fix horizontal positioning of PC flags.

git-svn-id: svn://localhost/ardour2/branches/3.0@4593 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoGracefully ignore illegal MIDI events at the buffer level (i.e. from Jack).
David Robillard [Mon, 16 Feb 2009 00:53:26 +0000 (00:53 +0000)]
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

15 years agoGracefully ignore illegal MIDI events.
David Robillard [Mon, 16 Feb 2009 00:36:11 +0000 (00:36 +0000)]
Gracefully ignore illegal MIDI events.

git-svn-id: svn://localhost/ardour2/branches/3.0@4591 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoRewrite Sequence::const_iterator.
David Robillard [Mon, 16 Feb 2009 00:16:28 +0000 (00:16 +0000)]
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

15 years agoTrim include dependency tree (particularly on evoral/Sequence.hpp).
David Robillard [Sun, 15 Feb 2009 23:47:09 +0000 (23:47 +0000)]
Trim include dependency tree (particularly on evoral/Sequence.hpp).

git-svn-id: svn://localhost/ardour2/branches/3.0@4589 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoClean up fugly debug printing stuff.
David Robillard [Sun, 15 Feb 2009 22:10:32 +0000 (22:10 +0000)]
Clean up fugly debug printing stuff.

git-svn-id: svn://localhost/ardour2/branches/3.0@4588 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoBring the note mode menu back from the dead.
David Robillard [Sun, 15 Feb 2009 21:19:01 +0000 (21:19 +0000)]
Bring the note mode menu back from the dead.
Fix percussive note (diamonds) placement.

git-svn-id: svn://localhost/ardour2/branches/3.0@4587 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoFix crash on reading meta event.
David Robillard [Sun, 15 Feb 2009 20:50:20 +0000 (20:50 +0000)]
Fix crash on reading meta event.

git-svn-id: svn://localhost/ardour2/branches/3.0@4586 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoFactor out region layering.
David Robillard [Sun, 15 Feb 2009 20:31:05 +0000 (20:31 +0000)]
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

15 years agoRemove dead code.
David Robillard [Sun, 15 Feb 2009 19:56:06 +0000 (19:56 +0000)]
Remove dead code.

git-svn-id: svn://localhost/ardour2/branches/3.0@4584 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoFix genererally retarded and broken note range / diskstream display / etc. related...
David Robillard [Sun, 15 Feb 2009 19:44:27 +0000 (19:44 +0000)]
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

15 years agoThe Big Change: Store time in MidiModel as tempo time, not frame time.
David Robillard [Sun, 15 Feb 2009 17:30:42 +0000 (17:30 +0000)]
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

15 years agoMake smf_track_get_next_event gracefully handle empty tracks.
David Robillard [Sun, 15 Feb 2009 17:16:58 +0000 (17:16 +0000)]
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

15 years agoCommit of the century, right here.
David Robillard [Sun, 15 Feb 2009 03:51:49 +0000 (03:51 +0000)]
Commit of the century, right here.

git-svn-id: svn://localhost/ardour2/branches/3.0@4580 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoOops. Fix XML stuff in GUI as well.
David Robillard [Sun, 15 Feb 2009 03:45:00 +0000 (03:45 +0000)]
Oops.  Fix XML stuff in GUI as well.

git-svn-id: svn://localhost/ardour2/branches/3.0@4579 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoMore contrast for MIDI notes.
David Robillard [Sun, 15 Feb 2009 03:37:08 +0000 (03:37 +0000)]
More contrast for MIDI notes.

git-svn-id: svn://localhost/ardour2/branches/3.0@4578 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoSession XML style consistency (tag names are capitalized).
David Robillard [Sun, 15 Feb 2009 03:21:30 +0000 (03:21 +0000)]
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

15 years agoTidy, remove dead code.
David Robillard [Sun, 15 Feb 2009 03:00:04 +0000 (03:00 +0000)]
Tidy, remove dead code.

git-svn-id: svn://localhost/ardour2/branches/3.0@4576 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoTidy.
David Robillard [Sun, 15 Feb 2009 02:36:15 +0000 (02:36 +0000)]
Tidy.

git-svn-id: svn://localhost/ardour2/branches/3.0@4575 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoShutup.
David Robillard [Sun, 15 Feb 2009 02:14:23 +0000 (02:14 +0000)]
Shutup.

git-svn-id: svn://localhost/ardour2/branches/3.0@4574 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoCache file position in SMFSource::read_unlocked (i.e. don't seek to start and search...
David Robillard [Sun, 15 Feb 2009 02:09:58 +0000 (02:09 +0000)]
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

15 years agoClean up.
David Robillard [Sun, 15 Feb 2009 01:53:06 +0000 (01:53 +0000)]
Clean up.

git-svn-id: svn://localhost/ardour2/branches/3.0@4572 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoDe-templatify Evoral::SMF which has no concept of time other than SMF time.
David Robillard [Sun, 15 Feb 2009 01:32:41 +0000 (01:32 +0000)]
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

15 years agoUse nframes_t for timestamps of real (jack) time MIDI events (i.e. in MidiBuffer...
David Robillard [Sun, 15 Feb 2009 01:24:26 +0000 (01:24 +0000)]
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

15 years agoTidy.
David Robillard [Sat, 14 Feb 2009 23:48:18 +0000 (23:48 +0000)]
Tidy.

git-svn-id: svn://localhost/ardour2/branches/3.0@4569 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoRemove superfluous typedefs.
David Robillard [Sat, 14 Feb 2009 23:41:05 +0000 (23:41 +0000)]
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

15 years agoMake SMF::append_event_delta take a buffer and a size rather than an Event (no point...
David Robillard [Sat, 14 Feb 2009 22:52:38 +0000 (22:52 +0000)]
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

15 years agoConst correctness.
David Robillard [Sat, 14 Feb 2009 22:49:25 +0000 (22:49 +0000)]
Const correctness.

git-svn-id: svn://localhost/ardour2/branches/3.0@4566 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoRemove unused (and timestamp type nasty) last_event_time() from SMF.
David Robillard [Sat, 14 Feb 2009 22:40:55 +0000 (22:40 +0000)]
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

15 years agoWhile I'm doing trivial prettification things and not giving a damn about superficial...
David Robillard [Sat, 14 Feb 2009 22:32:36 +0000 (22:32 +0000)]
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

15 years agoLine wrap at 100 lines so I can read things :).
David Robillard [Sat, 14 Feb 2009 22:27:17 +0000 (22:27 +0000)]
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

15 years agoUpdate for libsmf API changes.
David Robillard [Sat, 14 Feb 2009 22:23:40 +0000 (22:23 +0000)]
Update for libsmf API changes.

git-svn-id: svn://localhost/ardour2/branches/3.0@4561 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoFix types to be warning clean on 64 bit.
David Robillard [Sat, 14 Feb 2009 22:22:55 +0000 (22:22 +0000)]
Fix types to be warning clean on 64 bit.

git-svn-id: svn://localhost/ardour2/branches/3.0@4560 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoUpdate autowaf (fix mandatory header check).
David Robillard [Sat, 14 Feb 2009 20:53:51 +0000 (20:53 +0000)]
Update autowaf (fix mandatory header check).

git-svn-id: svn://localhost/ardour2/branches/3.0@4559 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoMIDI robustness.
David Robillard [Sat, 14 Feb 2009 20:52:15 +0000 (20:52 +0000)]
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

15 years agoIf a bundle's channel has no ports associated with it, you can't connect
Carl Hetherington [Sat, 14 Feb 2009 20:17:45 +0000 (20:17 +0000)]
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

15 years agoMake DnD copy processors using their XML representations. Remove unused
Carl Hetherington [Sat, 14 Feb 2009 19:45:30 +0000 (19:45 +0000)]
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

15 years agoFix most absurd function name I've seen in a while.
David Robillard [Sat, 14 Feb 2009 17:59:58 +0000 (17:59 +0000)]
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

15 years agoMore powerful SMF::open interface.
David Robillard [Sat, 14 Feb 2009 17:54:45 +0000 (17:54 +0000)]
More powerful SMF::open interface.

git-svn-id: svn://localhost/ardour2/branches/3.0@4554 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoRemove abstract MIDIFile interface (maintaining interface with old crap was getting...
David Robillard [Sat, 14 Feb 2009 17:39:49 +0000 (17:39 +0000)]
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

15 years agoLibSMF -> SMF
David Robillard [Sat, 14 Feb 2009 17:35:34 +0000 (17:35 +0000)]
LibSMF -> SMF

git-svn-id: svn://localhost/ardour2/branches/3.0@4552 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoSMF -> OldSMF
David Robillard [Sat, 14 Feb 2009 17:28:57 +0000 (17:28 +0000)]
SMF -> OldSMF

git-svn-id: svn://localhost/ardour2/branches/3.0@4551 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years agoFix send copying by paste and drag n drop.
Carl Hetherington [Sat, 14 Feb 2009 17:28:01 +0000 (17:28 +0000)]
Fix send copying by paste and drag n drop.

git-svn-id: svn://localhost/ardour2/branches/3.0@4550 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years ago* second part of the last fix
Hans Baier [Sat, 14 Feb 2009 07:21:01 +0000 (07:21 +0000)]
* second part of the last fix

git-svn-id: svn://localhost/ardour2/branches/3.0@4549 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years ago* fix concerning a comment on issue 2541: Go back to the last MIDI beat on stop
Hans Baier [Sat, 14 Feb 2009 07:18:38 +0000 (07:18 +0000)]
* 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

15 years agoLess weak plugin preset system (maybe AU preset stuff can use the 'normal' thing...
David Robillard [Sat, 14 Feb 2009 03:28:12 +0000 (03:28 +0000)]
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

15 years agoMandatory check for boost headers.
David Robillard [Sat, 14 Feb 2009 01:00:15 +0000 (01:00 +0000)]
Mandatory check for boost headers.

git-svn-id: svn://localhost/ardour2/branches/3.0@4546 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years ago*session.h whitespace
Hans Baier [Fri, 13 Feb 2009 08:29:23 +0000 (08:29 +0000)]
*session.h whitespace

git-svn-id: svn://localhost/ardour2/branches/3.0@4545 d708f5d6-7413-0410-9779-e7cbd77b26cf

15 years ago* Added CanvasSysEx class for displaying SysExes
Hans Baier [Fri, 13 Feb 2009 08:29:12 +0000 (08:29 +0000)]
* Added CanvasSysEx class for displaying SysExes

git-svn-id: svn://localhost/ardour2/branches/3.0@4544 d708f5d6-7413-0410-9779-e7cbd77b26cf