13
0
Commit Graph

405 Commits

Author SHA1 Message Date
3973ce81b3 remove all of Gtk::Window::set_position (WIN_POS_MOUSE) for anything deriving from ArdourDialog or ArdourWindow; move the set_position() call into those classes' constructors, so that they are called before the windows are realized, and thus it actually works 2013-05-02 18:13:35 -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
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
58d0fa7240 Fix whitespace.
git-svn-id: svn://localhost/ardour2/branches/3.0@13935 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-21 01:08:43 +00:00
1ae6d82674 Use rectangle intersection for MIDI note rect select.
git-svn-id: svn://localhost/ardour2/branches/3.0@13933 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-20 19:39:51 +00:00
7f769b06f0 More consistent verbose cursor label style for PC flags.
git-svn-id: svn://localhost/ardour2/branches/3.0@13928 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-20 09:00:53 +00: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
bade953de3 Fix crash on verbose note text in regions with no patch changes.
... I think.  Not sure precisely, conditions were fuzzy, I just tortured my
mouse button until I could reproduce it.


git-svn-id: svn://localhost/ardour2/branches/3.0@13921 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-20 04:52:42 +00:00
411dd7566f Fix completely wrong MidiRegionView::get_patch_key_at().
This fixes the note name displayed at a given time to be based on the correct program at that time, and not one in the future.

git-svn-id: svn://localhost/ardour2/branches/3.0@13912 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-20 02:31:41 +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
fc77ae0738 Replace a bunch of potential crashes with graceful handling of the situation.
We really need some kind of more sophisticated assert macro that can be
switched to non-fatal logging mode for release builds.  A log message, which is
often all that would happen, is a lot better than a trainwrecked performance...


git-svn-id: svn://localhost/ardour2/branches/3.0@13892 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-19 07:00:43 +00:00
76d85fb411 add Delete button to patch change dialog when editing it
git-svn-id: svn://localhost/ardour2/branches/3.0@13710 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-22 18:27:33 +00:00
2b8fc2a43b keep velocity value visible in verbose cursor until we leave a note (fixes #5085)
git-svn-id: svn://localhost/ardour2/branches/3.0@13687 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-19 20:31:30 +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
3647a55f28 fix bug: sysexes x position not relative to region
git-svn-id: svn://localhost/ardour2/branches/3.0@13239 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-11 03:40:39 +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
9816ed02c7 use correct event struct when handling key events in patch changes, and flip semantics for next/prev bank so that the direction in numerical terms matches next/prev patch (i.e. up arrow goes to higher numbers)
git-svn-id: svn://localhost/ardour2/branches/3.0@13043 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-15 14:43:38 +00:00
Carl Hetherington
49a32910c5 Patch from tophatdave to prevent exit from note edit
mode on double-click with a modifier held down;
prevents creation of malformed notes (#4664).


git-svn-id: svn://localhost/ardour2/branches/3.0@12929 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-25 21:19:06 +00:00
70e45046bb put patch chnage dialog under the mouse cursor when it appears
git-svn-id: svn://localhost/ardour2/branches/3.0@12914 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-24 12:56:56 +00:00
e1bb03bba4 don't swallow left/right scroll events in a midi region view when in internal edit mode, fixes #4555
git-svn-id: svn://localhost/ardour2/branches/3.0@12822 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-22 17:35:41 +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
2863640a52 make it possible for canvas patch changes to receive kbd events, and along the way clean up a couple of related issues, providing noevent-pixbuf (which we should probably use for regionview names too)
git-svn-id: svn://localhost/ardour2/branches/3.0@12745 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-17 13:37:52 +00:00
Carl Hetherington
d341088f13 Fix some uninitialised variable warnings.
git-svn-id: svn://localhost/ardour2/branches/3.0@12702 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-13 15:38:15 +00:00
3b04885cb7 prevent too-wide program change flags at startup
git-svn-id: svn://localhost/ardour2/branches/3.0@12678 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-12 18:02:03 +00:00
9c986098a2 hide patch changes if they are too wide for the region at a given zoom level
git-svn-id: svn://localhost/ardour2/branches/3.0@12677 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-12 17:55:05 +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
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
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
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
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
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
ba418958bf patch from dave flick to tackle a variety of cursor issues
git-svn-id: svn://localhost/ardour2/branches/3.0@12481 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-29 20:29:47 +00:00
Carl Hetherington
5776407b3b Clear selection on starting a MIDI note rubberband
selection drag; always emit SelectionCleared() from
clear_selection_except even if this region's selection
hasn't changed, as we still want to clear the selection
in other regions.  Part of #4669.


git-svn-id: svn://localhost/ardour2/branches/3.0@12473 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-28 21:01:49 +00:00
Carl Hetherington
cc12b6bba5 Emit SelectionCleared() when unique-selecting the first
note in a region, so that other regions clear their
selections.


git-svn-id: svn://localhost/ardour2/branches/3.0@12472 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-28 21:01:43 +00:00
6fa6514cfd Remove over 500 unnecessary includes (including 54 of session.h).
It's slightly possible that this causes trivial build failures on different
configurations, but otherwise shouldn't cause any problems (i.e. no actual
changes other than include/naming/namespace stuff).  I deliberately avoided
removing libardour-config.h since this can mysteriously break things, though a
few of those do seem to be unnecessary.

This commit only targets includes of ardour/*.h.  There is also a very large
number of unnecessary includes of stuff in gtk2_ardour; tackling that should
also give a big improvement in build time when things are modified.


git-svn-id: svn://localhost/ardour2/branches/3.0@12420 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-24 06:09:29 +00:00
8d5065bc32 remove, convert, comment several cerr statements
git-svn-id: svn://localhost/ardour2/branches/3.0@12378 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-22 12:57:05 +00:00
d8e41bde96 i18n-ization
git-svn-id: svn://localhost/ardour2/branches/3.0@12234 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-09 23:04:02 +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
ec1ef5d6b5 remove the apparently unnecessary "ui_bind()" macro from entire source base
git-svn-id: svn://localhost/ardour2/branches/3.0@12088 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-25 12:58:19 +00:00
Carl Hetherington
cc7d4db5fe Fix a few framecnt / framepos type confusions.
git-svn-id: svn://localhost/ardour2/branches/3.0@11975 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-14 22:04:51 +00:00
Carl Hetherington
ba145778cb paste_pos_beats should be source-relative, not region position relative; fixes some misplaced pastes.
git-svn-id: svn://localhost/ardour2/branches/3.0@11646 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-12 00:29:53 +00:00
405feb48aa use trim cursors near end of a MIDI note when in Draw mode (and not in Range mode)
git-svn-id: svn://localhost/ardour2/branches/3.0@11472 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-02-08 12:55:46 +00:00
b7df66c342 hand-done version of patch from tophatdave to prevent use of trim cursors when objects cannot be trimmed
git-svn-id: svn://localhost/ardour2/branches/3.0@11427 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-02-02 19:31:47 +00:00
e9a6d86b9b patch for bad region-extension when pasting into a MIDI that doesn't start at zero (from tophatdave) (related to #4664)
git-svn-id: svn://localhost/ardour2/branches/3.0@11420 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-02-02 02:40:47 +00:00