13
0
Commit Graph

104 Commits

Author SHA1 Message Date
f2495d9808 Highlight note in piano roll - #6510 2015-08-15 03:08:55 +02:00
f1ce87a699 add API to select TAV height mode.
preparation for further Summary and Number of visible
track count fixes.

* “Only Self”: don’t resize child-views (old default)
* “Total Height”: distribute height equally among 
   all visible child [automation] lanes
* “Height per Lane”: given height should be applied
   to all sub-views.
2015-03-19 21:47:34 +01:00
8b47241596 Trim include tree. 2015-01-12 02:06:35 -05:00
nick_m
44203ce955 Fix AutomationTrackItem rubberband click thinking it was unhandled.
Fix several other cases where a single mouse click could cause several
(not nested) selection ops.
Fix missing selection memento for midi notes and midi commands.
Rename some variables.
Fix random style issues.
2015-01-11 04:07:31 +11:00
a12a065457 Fix copy paste of MIDI and track automation. 2014-12-18 20:23:34 -05:00
5fef655380 Remove internal edit mode and add "content" tool. 2014-12-18 20:21:01 -05:00
17a58ecd4b Use ArdourDropdown for MIDI device selector. 2014-12-12 23:38:41 -05:00
0f72ea4a34 Factor out duplicated track automation code.
Mute automation for MIDI tracks.
2014-11-30 23:56:19 -05:00
19a57a2809 NOOP, indent & whitespace fixes 2014-09-09 14:40:22 +02:00
6954708865 clean up midi channel controls 2014-09-09 14:39:36 +02:00
9aacefc170 merge with master 2014-01-15 14:29:32 -05:00
ab838a1260 Midi-track fader & pan automation
NB. Fader automation lane always shows 'dB' value and is logarithmic.
OK for pre-fader synths, but not for raw-midi data.
2014-01-15 11:30:54 +01:00
aaea166135 initial commit of hand merging, plus getting "ancient" waf script to work correctly 2013-04-04 00:32:52 -04:00
f1ce235b6b some deep tweaking to get MIDI channel control into nearly done shape for 3.1 2013-03-28 17:10:57 -04:00
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
4e6d0c9e61 Show matching controller name in automation lane header.
Completely eliminate static MIDI controller name code.
Reduce dependency on midnam_patch.h (which would have saved me several hours if I did it earlier).
Store controller name numbers as an integer.
Keep controller names in a map keyed by int instead of a list for fast lookup.
More cleanup of MIDI::Name code.


git-svn-id: svn://localhost/ardour2/branches/3.0@13927 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-20 08:56:00 +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
444d89b669 Set MIDI device mode to the first by default if unset.
Give up trying to hide mode selector when it's useless.
Fix display of program names for default mode.
Abstract out (non-crashy) MidiTimeAxisView::get_device_names().


git-svn-id: svn://localhost/ardour2/branches/3.0@13903 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-19 20:15:15 +00:00
b1bc353f0d Add standard MIDI midnam file and remove hard coded equivalent.
Accordingly, make "generic" MIDI truly generic, just numbered controllers.
Break up MIDI name UI stuff into manageable functions of reasonable size.
Add convenient method to MIDINameDocument for getting the names for a device.
Tolerate comments in MIDINameDocument ControlNameList.

Can't remove the MIDI name code just yet, since it's still erroneously used by
Automatable::describe_parameter().  This is the cause of a bug where the name
on the automation lane does not match that in the menu.

The plan is to make a very simple pure abstract interface for getting MIDI
names, and make it possible to set one for Automatable (or perhaps pass it to
describe_parameter()).  Thus we'll be on the way to supporting names from
sources other than midnam files, namely plugins.


git-svn-id: svn://localhost/ardour2/branches/3.0@13895 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-19 10:02:00 +00:00
Hans Baier
8f55ca6a50 make the time axis view remember it midnam model/mode settings
git-svn-id: svn://localhost/ardour2/branches/3.0@13255 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-12 09:25:55 +00:00
Hans Baier
5bb898fa41 nicer layout of MIDI channel selector
git-svn-id: svn://localhost/ardour2/branches/3.0@13245 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-11 08:13:40 +00:00
Carl Hetherington
add52f1c0e Remove believed-unnecessary and broken MIDI thru option;
should fix #4749.


git-svn-id: svn://localhost/ardour2/branches/3.0@12746 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-17 14:28:10 +00:00
Carl Hetherington
4a174039ae Shrink the midi scroomer to match the keyboard in stacked mode.
git-svn-id: svn://localhost/ardour2/branches/3.0@12710 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-13 20:37:34 +00:00
Carl Hetherington
b524fe05d5 Make a few more MIDI track menu options apply to the current selection (#4106).
git-svn-id: svn://localhost/ardour2/branches/3.0@12706 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-13 17:24:15 +00:00
Carl Hetherington
daf84122ca Make fit contents / show full range work for all
selected tracks (part of #4106).


git-svn-id: svn://localhost/ardour2/branches/3.0@12703 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-13 15:38:27 +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
23350c195d remove craziness of propagating MIDI 7 bit limits into MIDNAM handling by replacing bank_msb/lsb with "bank" ; move responsibility for discovering patch names into MIDI trackview (soon to move again)
git-svn-id: svn://localhost/ardour2/branches/3.0@12647 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-10 16:42:17 +00:00
Carl Hetherington
dcd6dbf14b Persist track MIDNAM settings via a GUI property. Fix a
couple of crashes with the MIDNAM code.


git-svn-id: svn://localhost/ardour2/branches/3.0@12543 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-02 14:53:34 +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
Carl Hetherington
25b4913c78 Save position of MIDI scroomers (#4140).
git-svn-id: svn://localhost/ardour2/branches/3.0@9993 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-14 18:40:57 +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
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
c425e61bb9 Fix double MIDI track display on initial load.
git-svn-id: svn://localhost/ardour2/branches/3.0@9559 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-19 21:29:47 +00:00
Carl Hetherington
7390303728 Make MIDI channel selector button colours more distinct (#3772).
git-svn-id: svn://localhost/ardour2/branches/3.0@9524 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-16 18:18:13 +00:00
Carl Hetherington
8f45604f27 Make Active apply to the selection.
git-svn-id: svn://localhost/ardour2/branches/3.0@9089 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-07 13:04:46 +00:00
Carl Hetherington
92a5e4da48 Make stuff in the automation menu apply to the track selection.
git-svn-id: svn://localhost/ardour2/branches/3.0@9088 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-07 13:04:36 +00:00
2c72f58aa1 experiment with making MIDI region boxes vanish when in note/internal edit mode ... to be continued
git-svn-id: svn://localhost/ardour2/branches/3.0@9054 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-03 14:51:02 +00:00
Carl Hetherington
27cbe72d96 Remove dependence on the order of calls of listeners to MidiTrack::StepEditStatusChange, and rename the step entry menu item to make it consistent with the dialogue title. Should fix #3765.
git-svn-id: svn://localhost/ardour2/branches/3.0@8831 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-12 12:29:20 +00:00
Carl Hetherington
8000b39c8c Create MIDI track gain automation tracks as non-region-based. Fix construction of MidiTimeAxisViews to use the same first_idle arrangement as AudioTimeAxisViews to prevent use of partially constructed objects.
git-svn-id: svn://localhost/ardour2/branches/3.0@7847 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-27 02:04:16 +00:00
Carl Hetherington
812e95da01 Allow drag when creating a MIDI region. Fixes #3363.
git-svn-id: svn://localhost/ardour2/branches/3.0@7657 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-20 12:01:13 +00:00
faca3e5f5d split out the logic behind step editing from MidiTimeAxisView as much as possible
git-svn-id: svn://localhost/ardour2/branches/3.0@7633 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-15 16:39:51 +00:00
d6166084b1 step editor: add double, triple dotted note support + back + resync-to-ep buttons
git-svn-id: svn://localhost/ardour2/branches/3.0@7623 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-13 21:48:31 +00:00
aac46a38fb add step editing sustain support
git-svn-id: svn://localhost/ardour2/branches/3.0@7615 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-13 14:11:01 +00:00
8bdf5cf1d0 fix up initial step edit pos when operating on an existing region
git-svn-id: svn://localhost/ardour2/branches/3.0@7600 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-11 19:42:42 +00:00
afd5b2002a vari-size rect as step-edit cursor
git-svn-id: svn://localhost/ardour2/branches/3.0@7599 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-11 19:11:14 +00:00
5182f0770c add a first hack at a step edit cursor (to be changed); add program+bank stubs (non-functional for the foreseeable future); fix up step edit changes propagating across all MIDI tracks; make program change "flags" change height along with track
git-svn-id: svn://localhost/ardour2/branches/3.0@7598 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-11 18:21:37 +00:00
38f2336b45 add beat-resync button to step editor (move insertion point to next whole beat from region start)
git-svn-id: svn://localhost/ardour2/branches/3.0@7541 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-04 20:28:10 +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