13
0
Commit Graph

386 Commits

Author SHA1 Message Date
8588225b31 extend step-edited region correctly; scroll to keep newly step-edited notes in view
git-svn-id: svn://localhost/ardour2/branches/3.0@7538 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-04 17:57:41 +00:00
46eaff772d endless further tweaks to step editor; stop stealing the "r" key inside MidiRegionView key handling
git-svn-id: svn://localhost/ardour2/branches/3.0@7537 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-04 17:04:20 +00:00
ece5093234 change Control::{set,get}_float to Control::{set,get}_double and make almost all Control-related stuff use double rather than random mixtures of float, double and some integer value ; make hans' program change stuff work quite a bit better (not finished yet) including keyboard edting of pgm change values
git-svn-id: svn://localhost/ardour2/branches/3.0@7514 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-27 14:09:16 +00:00
0bbc9144cc (1) extend region if needed BEFORE adding step-edit note, so that the new note ends up in the selection (2) hide the channel selector that shows up on note-right-click after its clicked anywhere, not just if the note(s) channel(s) are changed
git-svn-id: svn://localhost/ardour2/branches/3.0@7492 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-25 21:19:55 +00:00
Carl Hetherington
94918c2a63 Trim note display to not overlap the end of its region. Should fix #3202 and #2143.
git-svn-id: svn://localhost/ardour2/branches/3.0@7466 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-22 01:45:52 +00:00
Carl Hetherington
2091f8453b Clear program changes and sysexs before redisplaying them. Fixes #3313.
git-svn-id: svn://localhost/ardour2/branches/3.0@7420 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-15 00:25:43 +00:00
Carl Hetherington
c45d19494f Apply velocity change before looking up velocity value for the verbose cursor. Should fix #3246.
git-svn-id: svn://localhost/ardour2/branches/3.0@7406 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-12 01:09:33 +00:00
7eb91510aa pay attention to MIDI channel selector when creating notes with GUI (fixes #3233)
git-svn-id: svn://localhost/ardour2/branches/3.0@7321 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-29 13:20:09 +00:00
Carl Hetherington
c6247be4d6 Hide verbose canvas cursor on midi region view destruction. Should fix #3250.
git-svn-id: svn://localhost/ardour2/branches/3.0@7317 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-28 21:03:12 +00:00
Carl Hetherington
bf7023bc7f Disable midi model updates during trim drags. Speeds the drags up at the cost of not updating notes in real-time. Fixes #3162.
git-svn-id: svn://localhost/ardour2/branches/3.0@7315 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-28 18:43:40 +00:00
db55b149eb change the way MIDI note colors are defined (2 3-point color ranges, one for selected, one for unselected); change default scroll action on selected midi notes to "fine" adjustment rather than "coarse" (now alt-scroll)
git-svn-id: svn://localhost/ardour2/branches/3.0@7302 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-24 21:22:00 +00:00
806a22fefe change note colors on the fly, to permit user-definition of colors more easily; remove some debug output
git-svn-id: svn://localhost/ardour2/branches/3.0@7301 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-24 19:46:28 +00:00
0f5bdd666f use JACK thread creation functions to create process-graph threads; provide GUI control over number of threads-relative-to-number-of-CPUS
git-svn-id: svn://localhost/ardour2/branches/3.0@7296 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-24 14:13:45 +00:00
Carl Hetherington
c4e6b368ae When creating notes with the pencil tool, make them 1 frame shorter than the grid subdivision to prevent overlaps. Fixes #3237.
git-svn-id: svn://localhost/ardour2/branches/3.0@7281 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-20 21:24:48 +00:00
1ee298a235 new fade in/out handle cursors from chrisg (maybe to be improved); show MIDI note velocities; try to show note length while dragging notes (in progress); some debugging output
git-svn-id: svn://localhost/ardour2/branches/3.0@7271 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-17 22:09:07 +00:00
fe85a922ec new trim cursors from chrisg, fix up hotspots for said cursors, make Editor cursors public; note draw mode now trims existing notes (but without trim cursor :(
git-svn-id: svn://localhost/ardour2/branches/3.0@7270 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-17 15:06:30 +00:00
fddb377812 introduce the notion that note additions and property changes can cause the removal of other notes because of overlaps; merge Diff and Delta commands in MidiModel; fix marshalling of notes to avoid float->int conversion of length+time properties; initial implementation (not tested much so far) of different policies for how to handle note overlaps
git-svn-id: svn://localhost/ardour2/branches/3.0@7254 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-12 13:55:22 +00:00
Carl Hetherington
07500f2250 Fix warning.
git-svn-id: svn://localhost/ardour2/branches/3.0@7251 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-09 22:37:31 +00:00
Carl Hetherington
8f263c239a Clean up a bit. Fix non-relative note dragging mode to fit my understanding of its correct behaviour. Fixes #3189.
git-svn-id: svn://localhost/ardour2/branches/3.0@7246 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-08 23:45:58 +00:00
ce78296f96 move computation of TimeAxisViewItem fixed heights into a static member function and call early in process life, because we need the values in MidiStreamview - fixes a bug with notes not aligning with note lines in a new session
git-svn-id: svn://localhost/ardour2/branches/3.0@7220 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-03 15:57:31 +00:00
a04b1fee6a heavy-handed and crude way to stop WM-stolen-alt keys from causing MidiRegionView from losing track of SelectTouchDraggingMode (may not be optimal or in the right place, but it works for now); add primary-click-on-MRV-blank-space and tertiary-click-on-MRV-blank-space to select all notes above or below the click, using recently committed methods for Sequence
git-svn-id: svn://localhost/ardour2/branches/3.0@7192 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-28 21:39:12 +00:00
8932625869 change color of note velocity text (and don't set it or justification repeatedly); make pianoroll button2 clicks select correctly rather than always being additive; hide note velocity text as soon as the mouse moves. the color change will require remvoing ~/.config/ardour2/ardour3_ui.conf to become effective
git-svn-id: svn://localhost/ardour2/branches/3.0@7187 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-28 17:39:28 +00:00
3e966771d0 clean up item event handling in MidiRegionViews by removing unnecessary InteractiveItem inheritance, and keep child->parent event handling order consistent as much as possible
git-svn-id: svn://localhost/ardour2/branches/3.0@7186 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-28 16:37:04 +00:00
8689ae88f7 refactor MidiRegionView event handling to avoid too much spaghetti as we move along
git-svn-id: svn://localhost/ardour2/branches/3.0@7182 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-27 15:07:15 +00:00
Carl Hetherington
d47161b9ee Use bbt_add and bbt_subtract to do proper BBT maths in round_to_beat_subdivision.
git-svn-id: svn://localhost/ardour2/branches/3.0@7172 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-27 00:26:32 +00:00
Carl Hetherington
61a4655551 Disable ghost note on note creation drag.
git-svn-id: svn://localhost/ardour2/branches/3.0@7168 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-26 19:08:49 +00:00
Carl Hetherington
696837ec7a Show the verbose canvas cursor with the ghost note.
git-svn-id: svn://localhost/ardour2/branches/3.0@7165 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-26 11:54:49 +00:00
Carl Hetherington
f7bff95fbc Rudimentary ghost note when adding MIDI notes to a region, as per #3180.
git-svn-id: svn://localhost/ardour2/branches/3.0@7162 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-25 23:14:41 +00:00
Carl Hetherington
ee61c5c9ea Implement shift-right-click to delete MIDI note (#3170)
git-svn-id: svn://localhost/ardour2/branches/3.0@7155 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-25 01:39:45 +00:00
97721226a4 stop range mode stuff from showing up when in internal edit mode
git-svn-id: svn://localhost/ardour2/branches/3.0@7154 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-25 01:13:45 +00:00
Carl Hetherington
bd2cbe9e76 Ensure a create note drag rectangle starts with both ends snapped,
otherwise it is possible to drag a note with a size large enough to
be considered valid and smaller than half the grid distance.  These
get snapped to zero length and thus appear infinitely long in the view.
A second try at fixing #3159.


git-svn-id: svn://localhost/ardour2/branches/3.0@7151 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-25 00:00:11 +00:00
Carl Hetherington
a4664d68c0 Prevent note creation drags with no movement of the pointer. May fix #3159.
git-svn-id: svn://localhost/ardour2/branches/3.0@7146 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-24 14:45:10 +00:00
a196405da9 various minor MIDI fixes: prevent duplicate note entry with mouse, show note info more often with verbose cursor, fix some crashes from click+move on notes ... lots more where this comes from
git-svn-id: svn://localhost/ardour2/branches/3.0@7128 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-20 22:38:12 +00:00
d443688c92 (1) make quantize actually use the main grid setting and not just default to beats (2) apply quantize to all notes if none are selected
git-svn-id: svn://localhost/ardour2/branches/3.0@7126 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-20 15:06:30 +00:00
Carl Hetherington
54edd7b466 When inserting new notes with the pencil tool, make them the length of the grid subvidision. Bug #3132.
git-svn-id: svn://localhost/ardour2/branches/3.0@7109 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-16 23:43:14 +00:00
ec01a25ec1 add 8 more beat subdivisions, as per #3126
git-svn-id: svn://localhost/ardour2/branches/3.0@7099 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-13 18:51:59 +00:00
37a34bb8b0 use a static per-class signal to notify the selection object in each MidiRegionView when note items are deleted. fixes crash on cut/undo/reselect and related operations
git-svn-id: svn://localhost/ardour2/branches/3.0@7092 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-10 16:05:24 +00:00
Carl Hetherington
061a85191c Move Diskstream ownership to Track, so that Session no longer holds lists of Diskstreams. Breaks 3.0 file format again.
git-svn-id: svn://localhost/ardour2/branches/3.0@6945 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-21 20:42:22 +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
316fca72db lots of work to hide prelight from most buttons, etc. etc. etc; increase range of solo boost knob; theme RC files changes need propagating to the light theme, sigh
git-svn-id: svn://localhost/ardour2/branches/3.0@6799 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-26 21:24:17 +00:00
17088ee3ea (1) remove most uses of MementoCommand for Playlist and Region (2) move frozen state from Region into Stateful, renamed "suspend property changes" (3) successive changes to a Property (scalar) after clear_history() do not keep resetting the old value (fixes region trim)
git-svn-id: svn://localhost/ardour2/branches/3.0@6720 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-02 18:05:26 +00:00
fa701b8c06 change PropertyChange from a bitfield into a real object, with all the many widespread changes that causes
git-svn-id: svn://localhost/ardour2/branches/3.0@6701 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-19 18:09:08 +00:00
ce7a5e1c9f the Properties & 64bit region commit
git-svn-id: svn://localhost/ardour2/branches/3.0@6695 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-18 13:59:49 +00:00
2e30bdba9f select-by-pitch from the piano roll header (inspired by Rosegarden); some improvements underway to controller/automation menu, but still broken there
git-svn-id: svn://localhost/ardour2/branches/3.0@6466 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-07 19:15:33 +00:00
51aec9a331 get the MIDI list editor working a little better and a little more
git-svn-id: svn://localhost/ardour2/branches/3.0@6453 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-05 03:52:30 +00:00
b6f4cdaea2 rationalize destruction pathway (some more); tidy-ify some ImageFrame code
git-svn-id: svn://localhost/ardour2/branches/3.0@6398 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-25 21:06:52 +00:00
c83389b8ec cleanup up cleanup at session destruction; clarify the meaning of 3 signals (DropReferences & Destroyed in libardour ; CatchDeletion in the GTK UI); clarify ownership of objects (session no longer pays attention to DropReferences for objects that it is considered to own, such as routes, sources, etc); fix up MIDI parsing and a couple of other places by correcting syntax for return of values from a boost::signals2::signal (possible danger elsewhere to be checked)
git-svn-id: svn://localhost/ardour2/branches/3.0@6389 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-22 20:21:43 +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
7703f0a76a move generic parts of Keyboard into gtkmm2ext. imperfectly done, but makes modifiers available in libgtkmm2ext now
git-svn-id: svn://localhost/ardour2/branches/3.0@6288 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-04 22:51:32 +00:00
c83e48e07a Trim session.h include dependency tree.
git-svn-id: svn://localhost/ardour2/branches/3.0@5979 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-30 15:30:22 +00:00
0cc0c13444 provide accessors to Editor::snap_{type,mode} ; when nudging notes, use grid in preference to nudge clock
git-svn-id: svn://localhost/ardour2/branches/3.0@5934 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-26 23:43:04 +00:00
b61e7ad5de Disable canvas verbose cursor for notes, which locks up on note adding sometimes.
The backtrace ain't pretty :/


git-svn-id: svn://localhost/ardour2/branches/3.0@5871 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-22 21:54:00 +00:00
d98c8e8fa4 Replace horribly error-prone Sequence/MidiModel/MidiSource locking API with scoped locks that automatically Do The Right Thing.
Make Sequence::read_lock const correct in the process (a read lock can be taken out on a const Sequence, but not a write lock).


git-svn-id: svn://localhost/ardour2/branches/3.0@5857 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-22 16:15:36 +00:00
214a31bb98 Fix various MIDI control and installation issues:
* Install ardour3_ui_default.conf to system config dir

 * Set -DDATA_DIR etc. defines to proper absolute paths

 * Set default MIDI control port name to "control"
   (it was "control" some places, "default" other, so the generic MIDI
   control surface didn't work.  The real problem here is probably that
   the name is hardcoded in the surface code, ick)

 * Install surfaces to correct system directory

 * Generate and install ardour_system.rc

User POV:

 * Installed versions not run from the source directory discover configuration
   files and surfaces, and generally work

 * Building and/or starting a fresh copy of ardour3 with no pre-existing
   configuration will run an ardour with a single MIDI "control" port, which
   you can plug a surface into and control MMC and controllers and such
   (after turning on the generic MIDI surface, which IMO should be loaded
    by default anyway, especially since it's no longer in a menu)


git-svn-id: svn://localhost/ardour2/branches/3.0@5833 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-20 23:43:19 +00:00
cb8407d26f Use set over vector for Sequence::Notes, for logarithmic search by time.
git-svn-id: svn://localhost/ardour2/branches/3.0@5798 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-19 15:23:42 +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
cd32030762 fix up dragging notes in percussive mode
git-svn-id: svn://localhost/ardour2/branches/3.0@5749 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-07 15:05:52 +00:00
Carl Hetherington
c5e3ff16cb Fix some compiler warnings.
git-svn-id: svn://localhost/ardour2/branches/3.0@5746 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-06 23:58:29 +00:00
aefcce1c99 ogg/flac support bits and pieces; fix up MIDI note dragging and front-edge trims; BROKEN IN PERCUSSIVE MODE FOR NOW
git-svn-id: svn://localhost/ardour2/branches/3.0@5745 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-06 22:07:10 +00:00
Carl Hetherington
7b14a4230b Fix some warnings.
git-svn-id: svn://localhost/ardour2/branches/3.0@5663 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-15 15:23:59 +00:00
93bc6e5b58 fix note selection behaviour, hopefully ... perhaps
git-svn-id: svn://localhost/ardour2/branches/3.0@5657 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-12 16:46:19 +00:00
d98302ae2c track note on/off and send appropriate note offs at transport stop
git-svn-id: svn://localhost/ardour2/branches/3.0@5655 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-11 13:25:31 +00:00
42e1e00f06 add step-rest keybinding for step editing
git-svn-id: svn://localhost/ardour2/branches/3.0@5653 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-10 22:20:37 +00:00
2ff1cd99af do not crash when loading old history files with MIDI edits; add all notes in region to canvas, but pay attention to visibility
git-svn-id: svn://localhost/ardour2/branches/3.0@5652 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-10 21:19:01 +00:00
7b8adc78b6 more MIDI editing cleanups, mostly fixing subtleties. Will break loading the history file for older sessions with MIDI editing present - we warned you :)
git-svn-id: svn://localhost/ardour2/branches/3.0@5651 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-10 20:41:08 +00:00
5f319d0a08 re-use canvas note items when the model changes ; slightly more efficient (probably) and avoids invalidating references to said items in, for example, ResizeData in a copied region
git-svn-id: svn://localhost/ardour2/branches/3.0@5650 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-09 16:46:18 +00:00
5328a114c9 time line items now have 64 bit location + duration; start making note resize apply across regions
git-svn-id: svn://localhost/ardour2/branches/3.0@5642 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-09 02:09:04 +00:00
1bf79fa885 move note drag & note resize mouse handling up into the Drag/Editor infrastructure/level
git-svn-id: svn://localhost/ardour2/branches/3.0@5641 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-08 21:45:44 +00:00
539c8361de use diff commands for quantize, with infrastructure changes as required
git-svn-id: svn://localhost/ardour2/branches/3.0@5639 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-07 16:53:53 +00:00
79dc191d6b add anonymous union to DiffCommand to allow uint8t_t and time-based arguments; use DiffCommand for note trimming
git-svn-id: svn://localhost/ardour2/branches/3.0@5638 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-07 13:38:06 +00:00
837bfc9af4 the start (only the start) of MIDI diff commands
git-svn-id: svn://localhost/ardour2/branches/3.0@5637 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-06 18:11:55 +00:00
c3c5c9a559 just one timeout callback for step editing, not one per track
git-svn-id: svn://localhost/ardour2/branches/3.0@5635 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-05 14:11:48 +00:00
b7fe417f70 better way to "engage" step edit, and extend region correctly as needed
git-svn-id: svn://localhost/ardour2/branches/3.0@5630 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-03 14:50:21 +00:00
b0b584c2a5 the basics of step editing, more details to follow
git-svn-id: svn://localhost/ardour2/branches/3.0@5629 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-03 12:39:50 +00:00
e7e071db1a more MIDI editing tweaks ; flip mouse mode buttons around for MIDI so that "object" mode is the most likely mode for both region \& region editing ; frame handle events (from lincoln's region trimming patch) are now handled more explicitly
git-svn-id: svn://localhost/ardour2/branches/3.0@5600 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-28 16:06:08 +00:00
3845af6ce9 lots of MIDI editing stuff. to be explained on the website when its done
git-svn-id: svn://localhost/ardour2/branches/3.0@5596 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-27 03:09:30 +00:00
b116282bbb make shift-click for extend-selection sort-of work for MIDI
git-svn-id: svn://localhost/ardour2/branches/3.0@5541 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-18 02:37:57 +00:00
3162ffb4f4 move assignments out of assert() in editor_drag (thanks lincoln); change mouse mode buttons when in internal/MIDI mode; arrow key control of note velocity, value and position - hey look ma, MIDI editing!
git-svn-id: svn://localhost/ardour2/branches/3.0@5539 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-17 15:58:47 +00:00
e3ac55f7b1 fix up display of notes when creating/editing a MIDI region with the pencil; fix position of paste for regions that are not at frame zero
git-svn-id: svn://localhost/ardour2/branches/3.0@5527 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-14 03:00:41 +00:00
e57c4d4c43 more MIDI paste improvements, plus move region-mute binding to PRIMARY-m and use "m" for toggle-internal-editing
git-svn-id: svn://localhost/ardour2/branches/3.0@5525 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-13 19:48:10 +00:00
84fb6ae9ba actually paste MIDI at the right spot
git-svn-id: svn://localhost/ardour2/branches/3.0@5521 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-13 12:19:28 +00:00
02e3f7c769 kinda-sorta paste MIDI at the right spot
git-svn-id: svn://localhost/ardour2/branches/3.0@5519 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-13 12:10:34 +00:00
0178875021 MIDI cut&paste round two (not done yet); a small region trim fix from lincoln s.
git-svn-id: svn://localhost/ardour2/branches/3.0@5517 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-13 01:57:03 +00:00
0bf3eb7759 first part of MIDI cut/copy/paste ; fix for input/output_streams of an IOProcessor being reported in a misleading way; in/out translation fix from 2.X, sort of
git-svn-id: svn://localhost/ardour2/branches/3.0@5510 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-10 19:29:29 +00:00
3ae28868ff remove all MIDI-specific editing modes by making standard work either at object level or within (e.g. notes, etc) ; make tool buttons proxies for GtkActions ; internal sends have their own BufferSet now, instead of using Session ones; don't make internal sends to the monitor bus active when added to the Route
git-svn-id: svn://localhost/ardour2/branches/3.0@5434 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-28 20:51:28 +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
7f3e6769b3 Fix a drag crash and some warnings.
git-svn-id: svn://localhost/ardour2/branches/3.0@5135 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-06-09 15:46:33 +00:00
Carl Hetherington
0874426a5b Further refactoring of drag code. Changes so that drags from the region list display a region view during the drag.
git-svn-id: svn://localhost/ardour2/branches/3.0@5127 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-06-08 19:28:51 +00:00
Nick Mainsbridge
72f1209520 Use pixbufs as region name labels rather than Gnome::Canvas::Text. Don't set height on every regionview in non-stacked mode in StreamView::add_region_view (speeds up some playlist operations).
git-svn-id: svn://localhost/ardour2/branches/3.0@5071 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-13 15:33:41 +00:00
006d3a9f46 Fix note dragging.
git-svn-id: svn://localhost/ardour2/branches/3.0@5049 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-05 00:57:08 +00:00
6c93b8c44f Remove useless/broken concept of 'erase touch dragging'.
git-svn-id: svn://localhost/ardour2/branches/3.0@5048 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-05 00:18:21 +00:00
7863c03cfc Make MIDI note editing work somewhat again...
Only show note velocity text when the user is actually editing velocity.


git-svn-id: svn://localhost/ardour2/branches/3.0@5047 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-05 00:08:30 +00:00
03536cd399 Fix a bunch of warnings.
Clean up.


git-svn-id: svn://localhost/ardour2/branches/3.0@4668 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-26 00:58:35 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Hans Baier
3705a2d630 * MIDI control lanes: Set Interpolationtype according to Parameter
git-svn-id: svn://localhost/ardour2/branches/3.0@4452 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-28 04:55:31 +00:00
3f662b9f9d Fix audible note select:
- Don't play note a bajillion times when touch selecting
	- Don't spawn a thread for each note off (schedule an idle handler instead)
	- Play notes when rect selecting


git-svn-id: svn://localhost/ardour2/branches/3.0@4392 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-07 02:40:13 +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
Hans Baier
6650ebdca9 * fix the fix: note velocity editing works now without duplicating the edited note on each step
* removed debugging output


git-svn-id: svn://localhost/ardour2/branches/3.0@4350 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-26 06:52:49 +00:00
Hans Baier
be75d43bd0 * first prototype implementation of playing back MIDI notes when selected
git-svn-id: svn://localhost/ardour2/branches/3.0@4348 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-25 23:08:57 +00:00
2a20673883 Fix note velocity editing.
Don't abuse/leak selection when editing velocity (fix editing velocity of a single note actually editing velocity of every note who's velocity had previously been edited).
Properly preserve selection for MIDI operations in general.
Less crap method of delineating scroll events to canvas items (no exhaustive type cases needed in editor_canvas_events.cc).
Fix silly comment style in midi_region_view.h (hans: please note this and follow in the future).


git-svn-id: svn://localhost/ardour2/branches/3.0@4343 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-23 21:05:50 +00:00
Hans Baier
270f1abe8d * preparation for different color coding schemes
git-svn-id: svn://localhost/ardour2/branches/3.0@4342 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-23 16:18:54 +00:00
Hans Baier
e9a9fe30cf * added comments to midi_region_view.h
* implemented choosing patches with context menu on the program change flag
* added convenience method and a little refactoring in midi_patch_manager.h

Conflicts:

	.cproject
	build-tmp.sh


git-svn-id: svn://localhost/ardour2/branches/3.0@4338 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-23 06:03:45 +00:00
Hans Baier
5e7ae490c1 * first working prototype of changing program changes by scroll wheel (still some automation points issues)
git-svn-id: svn://localhost/ardour2/branches/3.0@4324 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-15 11:05:41 +00:00
Hans Baier
bf7e792e3e * some refactoring of patch name stuff in preparation for altering program changes events
git-svn-id: svn://localhost/ardour2/branches/3.0@4323 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-14 22:56:44 +00:00
Hans Baier
30daaebaa2 * fixed memory allocation bugs
* commented out a crash line in ardour_ui2.cc (added a warning message).
  (I thought, it may be fairly efficient to keep issues as code instead of putting
  them in the tracker where hardly ever one would notice the needle in the haystack)
* forgot to clear two other collections on MidiPatchManager::refresh()


git-svn-id: svn://localhost/ardour2/branches/3.0@4312 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-12 06:57:38 +00:00
Hans Baier
2c017baa4a * fixed memory management bugs for midi patchname handling
git-svn-id: svn://localhost/ardour2/branches/3.0@4310 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-12 05:17:53 +00:00
Hans Baier
971b8bf7cf *typo
git-svn-id: svn://localhost/ardour2/branches/3.0@4308 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-11 08:28:53 +00:00
Hans Baier
e009016b03 * added myself to about.cc
* created ArdourCanvas::CanvasFlag as a base class for flags
* removed obsolete cruft from midi_model
* made MidiTimeAxisView and MidiRegionView work together to display program changes as
  names by means of MidiPatchManager


git-svn-id: svn://localhost/ardour2/branches/3.0@4307 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-11 08:06:27 +00:00
abf64beac6 Fix audio region copy-drag, partially fix MIDI region copy-drag (thanks torbenh).
git-svn-id: svn://localhost/ardour2/branches/3.0@3809 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-26 17:18:22 +00:00
ffaf827d93 Eliminate a ton of unnecessary complete redrawing in MIDI stream views:
Only resize vertically (don't reaload model) on range changes.
Keep track of range in model while loading (writing to model), rather than double display MIDI regions to find out.
Don't go crazy and chew CPU blinking around and doing nothing on initial show of MIDI track context menu.
Change radio 'full range' and 'contents range' menu items to non-radio actions that just set the range appropriately.
Fix crashes on some esoteric case of control data I can't figure out, but fixed anyway, so I guess it all worked out well in the end for everybody.


git-svn-id: svn://localhost/ardour2/branches/3.0@3794 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-23 02:40:29 +00:00
a2d2f738cb Move event specific ringbuffer stuff to evoral.
Sane event type interface between evoral and libardour (no more shared magic numbers).
Cleanup Evoral::Sequence iterator, fix bugs, probably introduce new ones.
Move MIDI specific event functions to Evoral::MIDIEvent (is-a Evoral::Event).


git-svn-id: svn://localhost/ardour2/branches/3.0@3785 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-22 16:28:02 +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
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
8b84681a08 Fix events for MIDI region views (though coordinates seem to be a bit off).
git-svn-id: svn://localhost/ardour2/branches/3.0@3727 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-14 19:14:12 +00:00
cb19d9cb1e More gracefully handle type mismatch errors when doing playlist things (just ignore regions with the wrong type for this playlist).
git-svn-id: svn://localhost/ardour2/branches/3.0@3726 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-14 19:01:08 +00:00
5befe85218 Fix stacking of MIDI stream views to match that of audio.
Make copy and brush operations type generic (i.e. fix brushing for MIDI regions).


git-svn-id: svn://localhost/ardour2/branches/3.0@3724 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-14 18:08:58 +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
8b4eea3c77 Make absurdly slow MIDI selection rectangle slightly less absurd.
git-svn-id: svn://localhost/ardour2/branches/3.0@3401 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-22 23:14:19 +00:00
975d410930 Fix MIDI selection/tool issues (issue #0002415 and other bugs).
Fix selection preservation across MIDI model editing commands (for both note moving and resizing).
Fix selection breakage introduced by old selection preservation stuff (fix zombie selection).


git-svn-id: svn://localhost/ardour2/branches/3.0@3381 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-22 01:02:04 +00:00
cb94baf6f4 Fix invalid error message during MIDI recording (or files with stuck notes).
Handle stuck notes more gracefully in the view (probably should show up as a diamond though?).


git-svn-id: svn://localhost/ardour2/branches/3.0@3359 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-16 03:11:28 +00:00
f53baec2e4 Tidy up MIDI debugging output.
git-svn-id: svn://localhost/ardour2/branches/3.0@3358 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-16 02:50:19 +00:00
722b85e828 Fix crash on out of range MIDI events (though this shouldn't be possible at all....).
git-svn-id: svn://localhost/ardour2/branches/3.0@3357 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-16 02:35:37 +00:00
05801cc3d6 Eliminate excessive allocation (for every event) during MidiModel iteration.
git-svn-id: svn://localhost/ardour2/branches/3.0@3351 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-15 05:00:28 +00:00
Hans Baier
a65044d097 * formatting
* fixed corruption bugs due to allocation hell of MidiModel::const_iterator::_event: Changed it into boost::shared_ptr
* fixed  MidiModel::const_iterator bugs: 
	-First note on lost, if an automation event comes first
	-corrupt MidiEvent compared to automation event if there are no notes in the region
* (hopefully) fixed possible race condition 
* fixed range check in MidiDiskstream::set_state for channel mask
* treating notes with duration 0 more gently in MidiRegionView (warning instead of assertion)


git-svn-id: svn://localhost/ardour2/branches/3.0@3345 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-13 18:40:10 +00:00
Hans Baier
d467245152 * fixed various event size bugs
git-svn-id: svn://localhost/ardour2/branches/3.0@3336 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-12 10:03:53 +00:00
8ca72c4eca Fix various MIDI corruption bugs.
Re-enable MIDI CC controller bars and other immediate output (hans commented out, tsk tsk).
Write channel mode as textual enumeration instead of magic number.
Better atomic (almost) channel mode switching on MIDI ring buffer (was a possible, if unlikely, source of corruption).
Handle some cases of broken MIDI, and oversized events, more gracefully.


git-svn-id: svn://localhost/ardour2/branches/3.0@3335 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-12 02:40:48 +00:00
Hans Baier
4e745fc17c * formatting/style guide
* bugfix: midi_util.h only considered channel events up to E0, but had to be EF
* bugfix: parameter.h operator == should also compare channel (drobilla, correct me if I am wrong)
* added some assert() guards


git-svn-id: svn://localhost/ardour2/branches/3.0@3330 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-09 16:10:36 +00:00
Hans Baier
8d44391f4b * adjusted formatting a bit to style guide
* fixed: velocity value left on canvas
* fixed: end-of-track problem still showed up sometimes
* enabled heaps of debugging output in order to debug MidiModel corruption 


git-svn-id: svn://localhost/ardour2/branches/3.0@3329 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-09 11:28:14 +00:00
Hans Baier
f651190162 * fixed some valgrind issues (uninitialized instance vars)
* Added preliminary support for program changes flags from automation lists


git-svn-id: svn://localhost/ardour2/branches/3.0@3327 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-08 09:53:19 +00:00
Hans Baier
0e394fb66b * removed old implementation for Program Changes from MidiModel
* Added Automation based implementation for Program Changes, Pitch Bender and Channel Aftertouch

git-svn-id: svn://localhost/ardour2/branches/3.0@3304 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-02 19:09:32 +00:00
da45f489dd Fixes for GCC 4.3.
git-svn-id: svn://localhost/ardour2/branches/3.0@3303 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-05-02 18:35:05 +00:00
Hans Baier
38eb5f4539 * renamed canvas-midi-event.* into canvas-note-event.*
* make MidiModel keep track of its CanvasProgramChange instances

git-svn-id: svn://localhost/ardour2/branches/3.0@3297 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-29 21:58:05 +00:00
Hans Baier
58e569c9e1 * Renamed CanvasMidiEvent into CanvasNoteEvent
* changed MidiModel::write_to to include note off handling *and* time sorting

git-svn-id: svn://localhost/ardour2/branches/3.0@3294 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-29 08:37:53 +00:00
Hans Baier
6d319e2132 * first prototype of program changes UI show up correctly (see http://www.flickr.com/photos/24012642@N02/2451596190/)
git-svn-id: svn://localhost/ardour2/branches/3.0@3293 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-29 07:28:24 +00:00
Hans Baier
7afccaa9fe * fixed display bug: changing the height on tracks doesnt rescale CanvasHits
git-svn-id: svn://localhost/ardour2/branches/3.0@3278 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-21 16:42:55 +00:00
Hans Baier
f31abc5eaf * UI fixes for track channel selection
* implemented 'forcing midi events into a single channel'
* see http://www.flickr.com/photos/24012642@N02/2430165889/

git-svn-id: svn://localhost/ardour2/branches/3.0@3273 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-21 09:39:05 +00:00
Hans Baier
e8c2b6f371 * made notes whose channel is not selected in the track appear gray, see http://www.flickr.com/photos/24012642@N02/2429528120/
git-svn-id: svn://localhost/ardour2/branches/3.0@3272 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-20 22:33:13 +00:00
Hans Baier
accc73a8c1 * fixed missing get coordinate functions in CanvasHit
* Fixed crash bug when NoteMode = Percussive on MidiRegionView
* Fixed possible MemoryLeaks and added Signal in MidiMultipleChannelSelector

git-svn-id: svn://localhost/ardour2/branches/3.0@3263 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-17 21:27:33 +00:00
Hans Baier
0c66131fea * bugfix in midi editing: adding notes impossible after delete
git-svn-id: svn://localhost/ardour2/branches/3.0@3255 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-16 02:30:37 +00:00
Hans Baier
c4bdcb82af * fixed bug: crash because of invalidated iterator while removing midi notes from model
git-svn-id: svn://localhost/ardour2/branches/3.0@3253 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-15 23:00:06 +00:00
Hans Baier
8b3d298f6b * first working version of editing MIDI channels of individual notes, see: http://www.flickr.com/photos/24012642@N02/2412142661/
git-svn-id: svn://localhost/ardour2/branches/3.0@3252 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-14 06:23:11 +00:00
Hans Baier
aae8262a36 * persistent undo for MIDI edits works now
* fixed bug: dragging of notes beyond left region bounds made it disappear (unsigned int wrap around)

git-svn-id: svn://localhost/ardour2/branches/3.0@3249 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-11 15:49:52 +00:00
Hans Baier
9228d5dc23 * removed possible memory leak / cause of crashes for midi editing
* fixed bug: after adding new notes, notes above/below region bounds appear

git-svn-id: svn://localhost/ardour2/branches/3.0@3237 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-08 21:44:13 +00:00
Hans Baier
e534334dce * bugfix: creating notes not sample accurate
* bugfix: resizing notes not sample accurate
* bugfix: resizing notes broken due to region resizing patch

git-svn-id: svn://localhost/ardour2/branches/3.0@3221 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-06 20:03:41 +00:00
Hans Baier
c1d5a721d2 * fixed broken note resizing and creation since region starts can be adjusted, moving notes still broken
git-svn-id: svn://localhost/ardour2/branches/3.0@3220 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-05 13:56:20 +00:00
Hans Baier
4ee42dc455 * Bugfix: resizing beginnings of MIDI regions did not work correctly (it shifted the region content right)
* Bugfix: resizing ends of MIDI tracks did not hide noted beyond region boundaries (in the moment only all notes with note_on >= region end are hidden, their note offs still may exceed region boundaries, but so much for now.....)

git-svn-id: svn://localhost/ardour2/branches/3.0@3219 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-05 09:47:07 +00:00
Hans Baier
fbfe9a7983 * implemented editing velocities (http://tracker.ardour.org/view.php?id=2148)
* added MIDI panic button (http://tracker.ardour.org/view.php?id=2118)
* bugfix: moving notes above midi 127 or below 0 does not wrap around anymore
* bugfix: deadlock on editing notes after playback (http://tracker.ardour.org/view.php?id=2140) due to unbalanced lock acquire/release
* bugfix: First note off lost in playback (http://tracker.ardour.org/view.php?id=2132)
* bugfix: Last note off lost in saving MIDI files (http://tracker.ardour.org/view.php?id=2132)
* bandaid fix for http://tracker.ardour.org/view.php?id=1985 (Cannot reopen session because jack ports are not unregistered on session close)
* bandaid fix: replaced conf.CheckPKGExists ('\"slv2 >= 0.6.0\"') by conf.CheckPKGExists ('slv2') in SConstruct, because the former would fail, 
  even if SLV 0.6.0 was installed
* added/enabled debugging output for debugging MIDI model (might be removed later)


git-svn-id: svn://localhost/ardour2/branches/3.0@3211 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-04-03 21:47:47 +00:00
6554200e66 hans' patches for MIDI note resizing++
git-svn-id: svn://localhost/ardour2/branches/3.0@3184 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-03-26 11:11:47 +00:00
eb4a1fdbb8 refactor JACK MIDI port to allow writing from a non-process() thread, and move ARDOUR::MidiEvent into MIDI namespace along with midi_events.h header
git-svn-id: svn://localhost/ardour2/branches/3.0@3155 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-03-18 03:42:32 +00:00
2aad191440 Apply note resizing patch from hans.
git-svn-id: svn://localhost/ardour2/branches/3.0@3145 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-03-15 00:37:17 +00:00
704e5b809b Clear selection in MidiRegionView::clear_events (can't select what isn't there....).
git-svn-id: svn://localhost/ardour2/branches/3.0@3141 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-03-12 01:01:27 +00:00
bdbe392325 Remove redundant MidiRegionView::start_remove_command.
git-svn-id: svn://localhost/ardour2/branches/3.0@3140 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-03-10 22:32:36 +00:00
ff5709e895 Fix selection issues.
git-svn-id: svn://localhost/ardour2/branches/3.0@3120 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-02-25 01:33:30 +00:00
faf4e1d8e8 Clean up weird formatting from underlays patch.
Fix several memory (valgrind) errors in a vain attempt to fix crash on session close.


git-svn-id: svn://localhost/ardour2/branches/3.0@3105 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-02-22 01:45:29 +00:00
2921166139 Fix key stealing on MIDI region views.
git-svn-id: svn://localhost/ardour2/branches/3.0@3102 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-02-21 20:20:40 +00:00
4d94305cc9 Fix install path problems (s/ardour2/ardour3).
Fix finding of keybindings file when running from source tree (via ardev/ardbg).
Fix clashing keybindings for zoom stuff.
Add note tool keybinding and menu entry.


git-svn-id: svn://localhost/ardour2/branches/3.0@3099 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-02-21 19:30:01 +00:00
68bfed0a46 Some work towards MIDI plugins (LV2 plugins with (MIDI supporting) event ports shown in plugin selector).
git-svn-id: svn://localhost/ardour2/branches/3.0@3092 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-02-20 23:24:51 +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
b2e3b18dab Fix problem with notes occasionally not showing up at all.
git-svn-id: svn://localhost/ardour2/trunk@2919 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-01-15 03:32:51 +00:00
2db91c126e Apply MIDI keyboard and "scroomer" patch.
git-svn-id: svn://localhost/ardour2/trunk@2908 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-01-13 17:45:17 +00:00
14dcc3f017 Fix displaying of notes in auto-created MIDI region when it's the first region in the track.
Fix crash after recording long phrases of MIDI.
Fix MIDI looping (kinda).
Add note-off exposure to MidiModel::iterator.
Fix first-note-is-stuck-note problem.
Fix resolving long notes while recording.
Fix several other things I forget now.  MIDI works pretty well.....


git-svn-id: svn://localhost/ardour2/trunk@2555 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-10-14 05:45:31 +00:00
49763a55c9 Fix several MIDI timestamp related problems:
Fix recording MIDI regions that start at t != 0.
	Fix display of MIDI events in regions that start at t != 0.
	Fix recording after relocating an already rec-armed MIDI track.


git-svn-id: svn://localhost/ardour2/trunk@2528 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-10-07 07:20:09 +00:00
79db28b0b8 Merge the two separate 'add notes to midi region' interfaces (note and midievent).
Update note range dynamically while recording to fit incoming notes.


git-svn-id: svn://localhost/ardour2/trunk@2512 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-10-04 05:15:28 +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
34907a7d62 Fix CC region view length.
git-svn-id: svn://localhost/ardour2/trunk@2360 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-31 19:29:23 +00:00
056b2a59d5 Split MidiModel::Note out to ARDOUR::Note in it's own file (midi_model.h was getting fat).
Initial work on MidiModel iterator.


git-svn-id: svn://localhost/ardour2/trunk@2355 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-28 17:48:37 +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
f9a7388d7a Make SMFSource suck significantly less.
Read from MidiRingbuffer directly into model, don't read MidiRingBuffer into a new midi buffer, then into the model.
Pass rec data to UI via model instead of a separate buffer.
Read MIDI CC data into MidiModel (though not actually used yet).
Made quantization toggle edited flag so model is saved.


git-svn-id: svn://localhost/ardour2/trunk@2308 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-16 01:25:58 +00:00
5156998e6e Saving of edited MIDI data to disk (on session save).
Seems to be a pretty random problem with note duration restoring though...


git-svn-id: svn://localhost/ardour2/trunk@2290 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-11 06:17:42 +00:00
f32a6d0f04 Fix some evil "tabs".
Switch canvas cursor for MIDI tools.
Fix delete tool bug (touch delete always on).


git-svn-id: svn://localhost/ardour2/trunk@2287 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-10 20:55:27 +00:00
1ead67fbd7 Touch select (hold left <Shift> or <Control>).
Fix crash on note delete.


git-svn-id: svn://localhost/ardour2/trunk@2286 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-10 19:16:21 +00:00
e14ab95dc5 Remove excessive printing during note dragging.
git-svn-id: svn://localhost/ardour2/trunk@2285 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-10 00:32:59 +00:00
078151e4d4 Fix rect select to work in all directions.
git-svn-id: svn://localhost/ardour2/trunk@2284 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-09 22:34:56 +00:00
8eded9b7bc Make MIDI tools actually do something. Sorta. Sometimes.
When the moon is right.
Cosmic radiation may be a factor.
Prayer may not be an entirely bad idea, just in case.


git-svn-id: svn://localhost/ardour2/trunk@2283 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-09 20:50:56 +00:00
430bc18ba2 First appearance of MIDI edit tool bar. Toggles when delete held, but otherwise still useless, pending some UI figuring out...
git-svn-id: svn://localhost/ardour2/trunk@2275 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-08 19:13:36 +00:00
7caaa6a0e9 Multi-note (ie selection) dragging.
git-svn-id: svn://localhost/ardour2/trunk@2267 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-08 02:01:14 +00:00
f92be1e34c Ridiculously CPU-chewey rect select (for sustained notes only ATM).
git-svn-id: svn://localhost/ardour2/trunk@2261 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-07 00:09:22 +00:00
f68caf23dd Genericificationalizeified AudioFilter (now Filter).
Added primitive (non-undoable, placeholder, etc) quantization.


git-svn-id: svn://localhost/ardour2/trunk@2254 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-06 05:30:18 +00:00
f420fed45d Brought back visual indication of delete dragging.
git-svn-id: svn://localhost/ardour2/trunk@2251 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-06 01:00:23 +00:00
a90425c0c0 Clear selection when clicking region background (usual HiGgey stuff).
git-svn-id: svn://localhost/ardour2/trunk@2249 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-08-05 23:33:21 +00:00