Commit graph

1155 commits

Author SHA1 Message Date
David Robillard
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
David Robillard
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
David Robillard
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
David Robillard
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
David Robillard
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
David Robillard
c006ff1762 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
2009-02-19 18:10:50 +00:00
David Robillard
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
David Robillard
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
David Robillard
6b8c6128cb 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
2009-02-19 00:37:18 +00:00
David Robillard
2e1332f74f 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
2009-02-19 00:25:24 +00:00
David Robillard
df329436ea I am become death, destroyer of boilerplate.
git-svn-id: svn://localhost/ardour2/branches/3.0@4630 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-19 00:15:54 +00:00
David Robillard
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
David Robillard
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
David Robillard
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
David Robillard
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
Carl Hetherington
deb2033a34 Make range selection context menu work again.
git-svn-id: svn://localhost/ardour2/branches/3.0@4611 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-17 02:34:38 +00:00
David Robillard
b857756f60 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
2009-02-17 02:19:16 +00:00
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
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
David Robillard
3e1eb6bcbd Fix crash on audio record (time converter segfault wackiness).
git-svn-id: svn://localhost/ardour2/branches/3.0@4607 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-16 23:32:59 +00:00
David Robillard
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
Hans Baier
80e3845982 * First prototype of SysEx GUI
git-svn-id: svn://localhost/ardour2/branches/3.0@4604 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-16 09:51:40 +00:00
David Robillard
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
David Robillard
31a6e0b254 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
2009-02-16 05:54:12 +00:00
David Robillard
de88640598 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
2009-02-16 05:33:23 +00:00
David Robillard
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
David Robillard
fb254fb2fc 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
2009-02-16 04:53:01 +00:00
David Robillard
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
David Robillard
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
David Robillard
beb3eea62b Fix horizontal positioning of PC flags.
git-svn-id: svn://localhost/ardour2/branches/3.0@4593 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-16 01:12:49 +00:00
David Robillard
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
David Robillard
5b71b9333a 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
2009-02-15 21:19:01 +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
9c89a93e4f Remove dead code.
git-svn-id: svn://localhost/ardour2/branches/3.0@4584 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-15 19:56:06 +00:00
David Robillard
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
David Robillard
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
David Robillard
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
David Robillard
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
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
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
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
David Robillard
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
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
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
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
Carl Hetherington
41afd1201d Fix some problems with dragging more than 1 region to a new track.
git-svn-id: svn://localhost/ardour2/branches/3.0@4530 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-11 17:20:46 +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
7666413e18 Duh. Simplify previous commit.
git-svn-id: svn://localhost/ardour2/branches/3.0@4520 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-10 15:58:03 +00:00
Carl Hetherington
eef9223835 Add a rescan button.
git-svn-id: svn://localhost/ardour2/branches/3.0@4519 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-10 15:45:06 +00:00