13
0
Commit Graph

95 Commits

Author SHA1 Message Date
Carl Hetherington
50dd880d7e No-op: rename a few variables and add/fix some comments.
git-svn-id: svn://localhost/ardour2/branches/3.0@6818 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-01 01:07:24 +00:00
14b0ca31bc handle deletion of UI objects between the time that a callback is queued with the UI event loop and the execution of the callback (intrusive, big)
git-svn-id: svn://localhost/ardour2/branches/3.0@6807 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-30 15:18:43 +00:00
Carl Hetherington
37dd777c9a Fix confusion about last_pointer_* variables under snap.
Update verbose canvas cursor correctly when automation point drags are clamped.
Clamp multi-point automation drags horizontally.


git-svn-id: svn://localhost/ardour2/branches/3.0@6474 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-11 19:36:29 +00:00
Carl Hetherington
c115b3d71c Update verbose cursor correctly when y drags are clamped.
git-svn-id: svn://localhost/ardour2/branches/3.0@6469 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-08 19:55:37 +00:00
Carl Hetherington
5f8f481172 Fixes to permit drags of multiply-selected automation control points.
git-svn-id: svn://localhost/ardour2/branches/3.0@6450 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-05 02:22:58 +00:00
Carl Hetherington
0f79f67398 Some cleanups to drawing of automation line control points. Drag all selected automation points if one selected point is dragged.
git-svn-id: svn://localhost/ardour2/branches/3.0@6437 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-03 00:08:58 +00:00
Carl Hetherington
c88716665a Fix confusion between model and view points when dragging ranges. Clamp both top and bottom when dragging vertically. Fix some wacky formatting.
git-svn-id: svn://localhost/ardour2/branches/3.0@6436 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-02 02:10:49 +00:00
Carl Hetherington
9a6532def2 Stop automation drags when they hit their lowest point, so as to prevent automation curves being lost by dragging things too far downwards.
git-svn-id: svn://localhost/ardour2/branches/3.0@6434 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-02 01:32:14 +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
Carl Hetherington
de4c9d4750 Small refactoring of determine_visible_control_points.
git-svn-id: svn://localhost/ardour2/branches/3.0@6382 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-22 01:11:06 +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
aae367b63c use new syntax for connecting to backend signals that enforces explicit connection scope, plus a few other related matters
git-svn-id: svn://localhost/ardour2/branches/3.0@6376 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-19 20:26:31 +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
8687895abb remove using namespace sigc everywhere to ensure clarity over which bind/mem_fun is being used; make Config::map_parameters take a boost::function rather than a sigc::slot ; continue debugging crash caused by regionviews not tracking their Region's lifetime
git-svn-id: svn://localhost/ardour2/branches/3.0@6357 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-12 15:02:15 +00:00
64dc5427e4 make all use of bind/mem_fun be explicitly sigc::
git-svn-id: svn://localhost/ardour2/branches/3.0@6354 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-11 23:29:48 +00:00
f24da84806 Fix whitespace.
git-svn-id: svn://localhost/ardour2/branches/3.0@5889 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-23 05:17:14 +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
970a3a7292 Introduce an accurate version of coefficient_to_dB and use it in non speed-critical
code.  Fixes mantis 2833.


git-svn-id: svn://localhost/ardour2/branches/3.0@5565 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-22 10:21:39 +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
97f022575c Fix build. Ahem.
git-svn-id: svn://localhost/ardour2/branches/3.0@4718 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-03-02 18:26:08 +00:00
7a5adcbe72 allow dragging of automation lines (Ben Loftis, backported from 2.X)
git-svn-id: svn://localhost/ardour2/branches/3.0@4715 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-03-02 18:08:15 +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
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
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
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
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
Hans Baier
5309c327ec * make MIDI-specific menu show up on all MIDI lanes
* style guide, comments and a little refactoring (remove duplication)


git-svn-id: svn://localhost/ardour2/branches/3.0@4422 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-21 10:20:27 +00:00
Carl Hetherington
042997e5ed Cleanups and a few comments.
git-svn-id: svn://localhost/ardour2/branches/3.0@4374 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-02 00:17:55 +00:00
Carl Hetherington
510d6d6dd3 Make region gain envelope drawing work again.
git-svn-id: svn://localhost/ardour2/branches/3.0@4339 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-23 10:36:06 +00:00
Carl Hetherington
883eeb8cf2 Implement #826: edit-click on automation points allows value edit.
git-svn-id: svn://localhost/ardour2/branches/3.0@4329 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-18 17:46:28 +00:00
Carl Hetherington
2ebb1af299 Implement #2425: option for automation to follow region moves.
git-svn-id: svn://localhost/ardour2/branches/3.0@4326 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-16 23:21:01 +00:00
03f188cc8b Remove ARDOUR::Parameter::is_integer.
git-svn-id: svn://localhost/ardour2/branches/3.0@3837 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-29 20:50:21 +00:00
e14187aadd Display recorded controller data (fix show all/existing automation).
git-svn-id: svn://localhost/ardour2/branches/3.0@3779 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-21 16:17:02 +00:00
b87ca000f8 Merge all the (disconcertingly missing) track/region/etc height changes from 2.0.
Fix track y positioning and initial region size/location.
Fix automation click-to-add-points (i.e. points actually show up where you click).
Fancy whiz-bang dynamic resize 2.0 professional edition support for MIDI/CC/Automation tracks/regions.


git-svn-id: svn://localhost/ardour2/branches/3.0@3769 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-19 19:32:10 +00:00
d8ade6d305 Tidy.
git-svn-id: svn://localhost/ardour2/branches/3.0@3755 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-19 01:16:44 +00:00
d357eca668 Factor out sequencing related things into an independant new library: "evoral".
Anything related to the storage of events/values over a range of time lives in evoral.
This includes MidiModel (Evoral::Sequence) and automation data (AutomationList (Evoral::ControlList),
	Automatable (Evoral::ControlSet), etc).
libs/evoral synced with http://svn.drobilla.net/lad/trunk/evoral r1511.


git-svn-id: svn://localhost/ardour2/branches/3.0@3754 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-19 00:47:49 +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
fb1fbf71af Fix range problems for pitch wheel controller.
git-svn-id: svn://localhost/ardour2/branches/3.0@3308 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-02 21:34:00 +00:00
997e4b1f9c merge with 2.0-ongoing @ rev 3147
git-svn-id: svn://localhost/ardour2/branches/3.0@3152 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-03-17 20:54:03 +00:00
e486a8d86f Per-region MIDI CC "automation".
Extremely broken in several ways.
This commit brought to you by the letters D, R, and my need to switch machines.


git-svn-id: svn://localhost/ardour2/trunk@2323 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-17 17:25:20 +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
b57510a3a9 Display correct value for verbose control point cursor for Midi CC (int) and plugin automation (map to parameter range).
Use double throughout for automation control point y coordinate instead of casting to this and that losing precision.
Fix crash bug in route automation menu.


git-svn-id: svn://localhost/ardour2/trunk@2107 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-04 22:57:13 +00:00
133a66920b s/ParamID/Parameter/
git-svn-id: svn://localhost/ardour2/trunk@2098 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-07-03 18:39:09 +00:00
bbf4175713 Another not-quite-there-but-better commit.
Brought plugin automation into the fold of new automation system.
Fixed plugin automation, broke panner automation :] (pending Panner work).
Made AutomationController better at automatically following it's controller value (mimic what gain meter does).
Fixed some visible automation track bugs (but still broken WRT serialization).


git-svn-id: svn://localhost/ardour2/trunk@2092 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-30 18:41:50 +00:00
Doug McLain
4c000c13ee Moved canvas colors and theme file selection into new ui specific config system
git-svn-id: svn://localhost/ardour2/trunk@2086 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-29 17:13:09 +00:00
24ccaac67e Further automation refactoring - bring in the concept of Controllable, work towards
making automation + GUI + play/write/touch generic and easily reusable.
Added bar controller to automation track controls (mostly relevant for MIDI CC, but added for gain and pan too Just Because).
Fixed glaring "redirect" list errors.
Fix plugin controls/automation loading.


git-svn-id: svn://localhost/ardour2/trunk@2080 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-29 04:02:58 +00:00