Commit Graph

72 Commits

Author SHA1 Message Date
63082821d8 Support paste between automation lanes.
Also push the increasingly unwieldly paste parameters into a context object.

As with othe things, currently it is only possible to do "cross-type paste" by
explicitly selecting the target track.  We will need to get automation region
view selection working to do better here, but at least for now it's possible to
get the data over.
2014-12-06 12:20:52 -05:00
85cf4b4dbd Fix visibility of MIDI controller automation tracks across saves.
Fix some inaccurate/misleading comments that led to said bug.

Gracefully handle the "impossible" case where we can't figure out a state ID
for an automation track, instead of crashing.
2014-11-17 00:13:53 -05:00
2fa6caad95 Support cut/copy/paste of several regions and lines at once.
The idea here is to do the reasonable thing, and copy objects of some
type (e.g. MIDI region, gain line) to tracks with a matching type.  The user
can override this with a track selection, which will be used straight-up.

Lost: ability to copy/paste lines across types, e.g. gain to pan.  This is
often questionable, but sometimes useful, so we will need to implement some
sort of "greedy mode" to make it possible.  Implementation simple, but not sure
what to do.  Perhaps this should only be possible if one automation track is
explicitly (i.e. via track selection) involved, and the types are at least
compatible-ish?
2014-11-16 22:35:45 -05:00
31acd96384 Implement "multi-paste" for notes, regions, and automation.
The idea here is that pasting several times to the same location doesn't make
sense.  Instead, the paste is appended past the last paste, snapped to the
grid.  This make it simple to replicate a given section a number of times,
simply by copying once and pasting several times.

This behaviour only appears when successive pastes are done to the same
location (whatever the edit point is).  When the paste point changes, the
"multi-paste" state is reset.

Boots 'n cats 'n boots 'n cats.
2014-11-14 20:04:19 -05:00
a52e18c7e8 use ArdourButtons on the automation time axis 2014-08-27 11:53:53 -05:00
6e38ecc158 manually applied equivalent of 1d82f4ca07 in master (git could not apply successfully) 2014-02-19 23:37:46 -05:00
0f01e3f78b reorder members to allow different initialization order
We want to be able to use _name when initializing _view.
2014-01-09 11:53:03 -05:00
b05968fb4e change frames_per_pixel to samples_per_pixel 2013-04-12 11:31:50 -04:00
aaea166135 initial commit of hand merging, plus getting "ancient" waf script to work correctly 2013-04-04 00:32:52 -04:00
Carl Hetherington
f722858e43 Patch from tophatdave to improve display of timestretch in
stacked layers mode (#4379).


git-svn-id: svn://localhost/ardour2/branches/3.0@12460 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-27 20:07:13 +00:00
Carl Hetherington
e65d84d37c Re-add erroneously-removed methods related to cut/copy of
automation time ranges.


git-svn-id: svn://localhost/ardour2/branches/3.0@12114 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-27 21:34:44 +00:00
Carl Hetherington
a4434809e1 Use a list of ControlPoints to hold the automation selection,
rather than a time range.  This makes more sense now that we
display every point on an automation line, rather than just
a subset.  Makes the code a fair bit simpler, and should fix
some unexpected behaviours, especially when cutting automation
points.


git-svn-id: svn://localhost/ardour2/branches/3.0@12054 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-22 14:03:07 +00:00
Carl Hetherington
28123e436d Snap new automation points on audio lanes (part of #4297).
git-svn-id: svn://localhost/ardour2/branches/3.0@10570 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-13 16:28:20 +00:00
Carl Hetherington
3ba6804f27 Don't create new regions on clicks on MIDI plugin automation
tracks (#4298).


git-svn-id: svn://localhost/ardour2/branches/3.0@10062 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-07 13:45:52 +00:00
Carl Hetherington
80972784e3 Fix non visibility of previously-visible MIDI automation
tracks on session reload.


git-svn-id: svn://localhost/ardour2/branches/3.0@9863 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-13 17:13:30 +00:00
10cb0a7646 introduce GUIObjectState; massive, pervasive changes in visibility and height management for track displays in the editor
git-svn-id: svn://localhost/ardour2/branches/3.0@9796 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-07 00:37:13 +00:00
1060243302 major, substantive reworking of how we store GUI information (visibility, height) for automation data. old design stored (insufficient) identifying information plus actual data in a GUI-only XML node; new scheme adds GUI data via extra_xml node to each AutomationControl object. reworked public/private methods for showing/hiding TimeAxisView objects; changed labelling of automation tracks to just show the name of the controlled parameter - more info can be viewed in the tooltip for the track headers. NOTE: Session file format ALTERED. No data loss but track visibility may be different than previous ardour3 versions
git-svn-id: svn://localhost/ardour2/branches/3.0@9703 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-11 15:35:34 +00:00
83f385d263 audio clock switchover part2: remove most egregious include-time dependency on audio_clock.h, and alter API for a few utilities along the way
git-svn-id: svn://localhost/ardour2/branches/3.0@9673 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-02 17:50:37 +00:00
Carl Hetherington
32df620938 Fix a few missing drops of Route references.
git-svn-id: svn://localhost/ardour2/branches/3.0@9571 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-23 10:03:14 +00:00
Carl Hetherington
5576faf943 Clean up some confusion with AutomationControls in AutomationTimeAxisViews that have regions.
git-svn-id: svn://localhost/ardour2/branches/3.0@8883 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-17 16:18:27 +00:00
Carl Hetherington
81aef8b491 Minor tidying-up.
git-svn-id: svn://localhost/ardour2/branches/3.0@8882 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-17 16:18:15 +00:00
Carl Hetherington
73192bc1a7 Remove all use of nframes_t.
git-svn-id: svn://localhost/ardour2/branches/3.0@8166 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-03 22:26:29 +00:00
Carl Hetherington
86244875a4 Allow drags of automation in time ranges where the automation is on a MIDI track and may span different regions. Fixes #3366.
git-svn-id: svn://localhost/ardour2/branches/3.0@7765 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-09 21:35:28 +00:00
Carl Hetherington
136b8ed747 Fix restore of fader automation from 2.X sessions.
git-svn-id: svn://localhost/ardour2/branches/3.0@7754 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-07 23:26:21 +00:00
Carl Hetherington
579fcb70e2 First go at saving window visibility and position state across saves.
git-svn-id: svn://localhost/ardour2/branches/3.0@7644 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-18 02:20:15 +00:00
Carl Hetherington
c06c6c153d Fix up selection of automation points.
git-svn-id: svn://localhost/ardour2/branches/3.0@7556 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-06 23:28:44 +00:00
Carl Hetherington
5e3ca4db5c Support cut / copy / paste of MIDI automation.
git-svn-id: svn://localhost/ardour2/branches/3.0@7545 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-05 13:36:38 +00:00
Carl Hetherington
e7a2b99f3d Clean up handling of track vs region automation a bit.
git-svn-id: svn://localhost/ardour2/branches/3.0@7544 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-05 13:35:43 +00:00
Carl Hetherington
593b421180 A few fixes to interpolation of MIDI controller data. Don't interpolate
when writing these data back to a source, otherwise surprising new
interpolated points appear in MIDI automation.  Similarly don't interpolate
when reading the model during MIDI stretch.  Fix handling of interpolation state;
controllers that have been set by the user to use a different interpolation style
are noted in the <Source> tag of the session file and this state is sprayed around
to MidiModel and the GUI as necessary.


git-svn-id: svn://localhost/ardour2/branches/3.0@7409 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-14 00:58:15 +00:00
Carl Hetherington
a57b9cdd99 Allow region-based automation axes to report whether they
have automation data or not.  Should fix #3177.


git-svn-id: svn://localhost/ardour2/branches/3.0@7158 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-25 15:51:32 +00:00
ca2f505ec1 lots of debug code still in place, but get a much improved structure for MIDI automation menus actually working. tweaks to follow
git-svn-id: svn://localhost/ardour2/branches/3.0@6470 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-09 02:36:47 +00:00
Carl Hetherington
f5acf93672 First cut of some Pro-tools inspired editing features; linked play/play range
and linked object/range modes.


git-svn-id: svn://localhost/ardour2/branches/3.0@6431 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-01 22:11:15 +00:00
f450df300c fully implement and deploy explicit x-thread signal connection syntax (testing comes next)
git-svn-id: svn://localhost/ardour2/branches/3.0@6379 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-21 18:23:07 +00:00
f6fdd8dcbf switch to using boost::signals2 instead of sigc++, at least for libardour. not finished yet, but compiles, loads sessions, records and can close a session without a crash
git-svn-id: svn://localhost/ardour2/branches/3.0@6372 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-17 18:24:23 +00:00
8713667ec1 rework Stateful::set_state() patch to avoid default version argument
git-svn-id: svn://localhost/ardour2/branches/3.0@5787 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-15 18:56:11 +00:00
Carl Hetherington
79f91c7a20 Part 1 of loading 2.X sessions; some things work, some things don't, hacks a-plenty.
LOADING 2.X SESSIONS WITH THIS COMMIT IN PLACE WILL (PROBABLY) CORRUPT THE .ardour FILE,
MAKING THE SESSION UNLOADABLE ON 2.X AND LOSING INFORMATION.

So don't do that unless you make a backup of the session file first.



git-svn-id: svn://localhost/ardour2/branches/3.0@5786 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-15 00:57:55 +00:00
bb9cc45cd2 Strip trailing whitespace and fix other whitespace errors (e.g. space/tab mixing). Whitespace changes only.
Vimmers, try let c_space_errors = 1 in your .vimrc to highlight this kind of stuff in red.  I don't know the emacs equivalent...


git-svn-id: svn://localhost/ardour2/branches/3.0@5773 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-14 16:10:01 +00:00
Carl Hetherington
b65f8073ba Fix some unused parameter warnings.
git-svn-id: svn://localhost/ardour2/branches/3.0@5403 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-21 15:55:17 +00:00
Carl Hetherington
402cc384ce Back out big shared_ptr change. Moving to a branch. Apologies all.
git-svn-id: svn://localhost/ardour2/branches/3.0@5343 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-09 17:58:13 +00:00
Carl Hetherington
4297071b3f Use shared_ptr for the TimeAxisView hierarchy.
git-svn-id: svn://localhost/ardour2/branches/3.0@5339 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-09 13:39:45 +00:00
Carl Hetherington
3b89d9eaa0 Remove most using declarations from header files.
git-svn-id: svn://localhost/ardour2/branches/3.0@5069 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-12 17:03:42 +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
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
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
bc89fe0147 most of the 2.X->3.0 commit (up to rev 4299) except for gtk2_ardour/editor_canvas.cc; builds and runs and does a few specific things but expect it to be buggy for a while yet
git-svn-id: svn://localhost/ardour2/branches/3.0@4313 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-12 14:43:24 +00:00
b0424889b3 make tracks visible again
git-svn-id: svn://localhost/ardour2/branches/3.0@3719 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-12 09:01:52 +00:00
68e943265e merge from 2.0-ongoing @ 3581
git-svn-id: svn://localhost/ardour2/branches/3.0@3711 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-10 15:03:30 +00:00
1b65758557 Committed underlay support (from Audun).
git-svn-id: svn://localhost/ardour2/branches/3.0@3037 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-02-10 18:16:25 +00:00
c190aca4a0 Deep "automation regions" support.
Fix zoom/height/etc changing for automation region views.
Broke smooth automation region dragging (make omelette, break eggs, etc).


git-svn-id: svn://localhost/ardour2/trunk@2424 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-09-06 02:30:39 +00:00
68653307e6 Note modes: note, percussion.
Percussion tracks display diamonds.
	Separated/fixed MIDI and audio mode menus.
CC automation modes: discrete, line.
	Bar controllers follow setting (hard steps or line) on playback.
	Sent CC data is always discrete (line not implemented yet).
	Discrete tracks show no lines, and always show control points.
Separated ControlPoint from AutomationLine.
Added some basic information (range) to Parameter (to be fleshed out..).


git-svn-id: svn://localhost/ardour2/trunk@2123 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-07 03:19:04 +00:00