4abbabdcf9
Squashed commit of the following:
...
commit fdbae82077db53add90df7448a06869dac89acc6
Author: Paul Davis <paul@linuxaudiosystems.com>
Date: Wed Mar 27 21:45:28 2013 -0400
mammoth changes in basic signal flow, total redesign of MIDI channel filtering and more.
commit 59343a8283698e02bc0f622313b29e98f449e4c8
Author: Paul Davis <paul@linuxaudiosystems.com>
Date: Wed Mar 27 01:58:53 2013 -0400
initial working version after changes to MIDI channel filtering. may affect metering input too. testing not yet finished
this commit merges many deep changes in ardour's internal architecture,
combined with a total redesign of how MIDI channel filtering works.
data in a track used to flow from JACK port buffers to diskstream's ringbuffers
and was then copied from the ringbuffers into a BufferSet for use during
Route::process_output_buffers(). The butler thread would handle the movement of
data between the ringbuffers and disk.
with this commit, data now flows from JACK port buffers into the BufferSet used
for Route processing, and is copied from the BufferSet into the diskstream's
ringbuffers (the butler thread continues to handle interactions with disk as
usual).
this change allowed a dramatic consolidation of code and simplification of most
aspects of Track/Route::roll() and Track/Route::no_roll(). in particular, see
Route::fill_buffers_with_input() which now concisely describes how we move data
from JACK port buffers into the BufferSet for all Route types (including Tracks).
this work was initially motivated by changing MIDI channel filtering so that we
can process capture and playback independently. there is now a very clean
pathway for this - see MidiTrack::roll() (NOTE: This needs implementing in the
no-roll case too - a TODO item).
the channel selector for MIDI tracks has been moved out of the track header and
is now accessible via the context menu. more work is likely here, to make it
(more) obvious to the user when filtering is going on.
2013-03-27 21:50:18 -04:00
2586dacf5b
Trim the include tree a bit.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13941 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-21 07:24:42 +00:00
88de45b7cc
Support note names from midnam files (tested with the DM5).
...
Do this via a simple MasterDeviceNames::note_name() function. The same really
needs to be done for program names, this stuff is absolutely brutal to use.
Store note names in a vector indexed by number instead of a list with string
"numbers" for reasonable lookup time.
Make some references const that should be.
git-svn-id: svn://localhost/ardour2/branches/3.0@13908 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-20 00:46:55 +00:00
Hans Baier
6177205398
Make input filtering while recording work in GUI, too
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13244 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-11 06:32:09 +00:00
Hans Baier
9bdde56860
make sysex contents appear as verbose_cursor for visual feedback the flag as been entered and for readability
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13240 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-11 04:05:22 +00:00
Hans Baier
97c23848d7
implement deleting of sysex events
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13238 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-11 03:22:17 +00:00
aea9601307
really, really do not signal MidiRegionView::SelectionCleared during destruction
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12783 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-19 14:15:02 +00:00
d1d08e3910
fix complete screw up in connecting MIDNAM PatchNameList with ChannelNameSets; more tweaks and twirls for patch/program change mgmt
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12673 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-12 16:32:06 +00:00
d97312d438
lots more work trying to create a common structure for accessing plugin and MIDNAME patch/preset/program names. still not done
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12665 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-11 22:59:35 +00:00
960de7306f
partially-done (but compile-friendly) move of instrument info into a new backend object
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12652 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-11 12:07:17 +00:00
Carl Hetherington
a766fe1fd9
Somewhat primitive implementation of allowing the edit note dialog to handle multiple notes ( #4096 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12623 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-09 01:51:34 +00:00
Carl Hetherington
fa19e1a9d0
When sounding notes on selection / note movements, play the note for as long as the mouse button is held down ( #4574 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12606 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-08 13:21:05 +00:00
Carl Hetherington
33ffe733f1
Remove unused declaration.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12605 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-08 13:12:26 +00:00
Carl Hetherington
ef213e49a7
Grey-out patch changes on inactive channels rather than not
...
plotting them at all (part of #4207 ).
git-svn-id: svn://localhost/ardour2/branches/3.0@12600 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-08 12:17:33 +00:00
0692e766f8
add "v" as a new MIDI editing key for velocity, add velocity dialog, fix crash when quitting with MIDI notes selected
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12583 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-06 13:17:53 +00:00
1bc662e64e
incomplete change to allow all selected MIDI notes to have their velocity set to the same adjusted value (needs more work to find modifiers and/or add a dialog)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12581 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-06 12:16:15 +00:00
Carl Hetherington
2010c0489f
Put MIDNAM stuff into the patch change dialog.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12539 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-02 13:02:01 +00:00
Carl Hetherington
6417f703cf
Expand comment.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12474 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-28 21:01:55 +00:00
Carl Hetherington
dfd842812c
Deselect MIDI notes when leaving internal edit mode
...
(part of #4669 ).
git-svn-id: svn://localhost/ardour2/branches/3.0@12471 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-28 21:01:37 +00:00
Carl Hetherington
0b0d252acf
Remove un-read variable.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12121 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-30 01:13:04 +00:00
Carl Hetherington
7b43cb4298
Fix comments.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11645 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-12 00:29:44 +00:00
5de9a8f38b
make mouse range mode do something interesting when in internal/note edit mode. not entirely finished because the usual modifiers to add/extend the selection don't work correctly. note that this works both on the scroomer (where the modifiers do work correctly) and in the track (where they do not)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11273 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-20 02:54:23 +00:00
f758ed0f41
more fixups of various things including cursors when note editing. in particular, don't needlessly reset the cursor during a drag. note insertion with ctrl pressed now only works if in MouseObject mode.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11270 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-19 22:23:28 +00:00
Carl Hetherington
42aea0b9fd
Clean up comments to create_note_at, since it no longers snaps its length parameter. Move the 1 tick shortening out of the method for the same reason. Make sure that create drags make notes with a minimum length of 1 tick ( #4600 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11116 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-30 13:41:16 +00:00
Carl Hetherington
ab4e7cf472
Move note creation code into a Drag; fix snapping of note
...
starts when drag-created (part of #4505 ).
git-svn-id: svn://localhost/ardour2/branches/3.0@10972 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-11 12:54:54 +00:00
Carl Hetherington
f817155f20
Fix somewhat unlikely crash on doing add note; start drag to resize note; undo; finish drag to resize note.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10880 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-03 03:05:59 +00:00
Carl Hetherington
ec90b0ceb0
Use a Drag class for midi note selection, so that it
...
gets autoscroll (#4474 ).
git-svn-id: svn://localhost/ardour2/branches/3.0@10650 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-16 20:11:33 +00:00
Carl Hetherington
fd2aea1037
Remove non-RT-safe alloc in the MIDI process() call.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10441 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-04 17:52:12 +00:00
0bc8832e20
Trim include tree.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10244 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-19 21:53:09 +00:00
8be2e11c65
Implement range selecting for MIDI notes ( #4087 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10199 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-07 21:11:19 +00:00
1567d362ad
Implement invert selection for MIDI notes ( #4087 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10198 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-07 20:27:12 +00:00
Carl Hetherington
5f2ef08666
Clear selected MIDI notes in all regions when they are
...
cleared in a single one (#4152 ).
git-svn-id: svn://localhost/ardour2/branches/3.0@10158 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-28 14:07:42 +00:00
Carl Hetherington
174c0d6831
Snap new automation points in AutomationRegionViews ( #4297 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10059 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-06 23:28:55 +00:00
Carl Hetherington
ad444c0955
Another go at fixing up MIDI note additions with snap
...
(#4189 ).
git-svn-id: svn://localhost/ardour2/branches/3.0@10017 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-20 20:02:04 +00:00
45d51d3aee
various fixes to MidiRegionView selection handling, key handling, drawing of ghost notes (contains a fix for #4263 ); shift-drag selections in MidiRegionViews now correctly add to the selection rather than replacing any existing one.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10000 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-17 12:46:42 +00:00
f6951c92f0
attempt to fix deep confusion in GUI code about converting between musical and audio time (should have beneficial effects on #4257 ); change ghost note drawing when in MIDI note draw/add mode so that its start is aligned with the mouse cursor
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9998 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-16 14:24:41 +00:00
Carl Hetherington
9e6eb3e0c7
Apply x42's patch from #4207 ; rename MIDI control
...
preferences to just MIDI.
git-svn-id: svn://localhost/ardour2/branches/3.0@9948 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-03 11:15:01 +00:00
2fb2442dd3
Primary-(scroll|up|down) on patch/bank change event changes bank number; change format of verbose cursor when inside patch/bank change
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9939 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-27 19:11:39 +00:00
07b584f312
fix for #3977 - shift-tab and shift-ctrl-tab move to the next/previous note like tab, but leave existing selected note(s) selected
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9838 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-11 13:17:01 +00:00
cab3072f83
add MIDI channel editing for current note selection, bound to "c" by default
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9718 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-13 14:48:48 +00:00
ed626628b5
Delete trailing whitespace
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9656 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-01 17:00:29 +00:00
Carl Hetherington
711db34a81
Remove MIDI track default channel and its menu, and choose the channel for new notes using MidiTimeAxisView::get_channel_for_add() ( fixes #3998 and #3865 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9585 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-25 15:19:47 +00:00
74fa33486c
Fix broken indentation.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9558 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-19 21:11:21 +00:00
Carl Hetherington
988348185e
Separate verbose cursor out into its own class and clean up the API. Fixes #4010 .
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9455 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-02 13:38:16 +00:00
Carl Hetherington
e90e1cc771
Prevent snap_frame_to_frame returning -ve offset from the region start ( fixes #3925 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9396 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-20 23:48:39 +00:00
Carl Hetherington
f14b079a9a
Fix up undo/redo of MIDI note paste ( #3815 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9033 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-02 16:18:59 +00:00
Carl Hetherington
c75b17e3ba
Update ghost MIDI regions in automation tracks when zoom changes. Fixes #3803 .
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8985 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-28 04:00:38 +00:00
15b5fce904
merge 3.0-panexp (pan experiments) branch, revisions 8534-8585 into 3.0, thus ending 3.0-panexp. THIS COMMIT WILL BREAK ALL EXISTING 3.0 SESSIONS IN SOME WAY (possibly not fatally).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8586 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-01-27 01:31:03 +00:00
d16bb0b8bc
rest of lincoln's MIDI note edit via click outside of MIDI edit mode patch
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8366 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-29 16:34:51 +00:00
Carl Hetherington
f8ebb4582d
Unify program change and bank handling so that they are manipulated together.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8346 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-28 18:19:40 +00:00