13
0
Commit Graph

241 Commits

Author SHA1 Message Date
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
ee38c44109 Structure MIDI device selector by manufacturer.
Unfortunately we store the state of models as simply model, so if there's ever
duplicate model names, we're somewhat screwed, but this makes the (previously
unmanageably huge) menu usable, while retaining the "model name as global
identifier" state unmodified.
2014-12-13 00:37:34 -05:00
17a58ecd4b Use ArdourDropdown for MIDI device selector. 2014-12-12 23:38:41 -05:00
cf537b97f5 Add missing namespace qualifiers. 2014-11-30 23:56:19 -05:00
0f72ea4a34 Factor out duplicated track automation code.
Mute automation for MIDI tracks.
2014-11-30 23:56:19 -05:00
85cf4b4dbd Fix visibility of MIDI controller automation tracks across saves.
Fix some inaccurate/misleading comments that led to said bug.

Gracefully handle the "impossible" case where we can't figure out a state ID
for an automation track, instead of crashing.
2014-11-17 00:13:53 -05:00
fd9ccc7058 Use an enum for RoundMode instead of magic numbers.
No functional changes in this one (for easier auditing), but towards having
round up/down only if necessary modes, rather than kludging around that
situation with a double round as we do currently.
2014-11-16 22:35:45 -05:00
6954708865 clean up midi channel controls 2014-09-09 14:39:36 +02:00
80e6d3b534 fix typo in b9f075143 2014-09-08 20:59:17 +02:00
b9f0751438 Move Scroomer out of Track Selection Box:
* no horiz space between Piano-Roll & Track
* 1:1 mapping of note's vertical space (no border)
2014-09-08 18:43:08 +02:00
6bb573d81c vertical pixel alignment of all TAV elements 2014-09-08 18:42:41 +02:00
b469cd217f Bring back control slider on MIDI controller "tracks". 2014-08-31 17:54:16 -04:00
e3d982a66e set initial TAV style 2014-08-31 18:51:04 +02:00
888f440633 move midi scroomer to right of meter and fix alignment 2014-08-31 16:15:52 +02:00
d0c7984320 new min. height for midi controls 2014-08-31 07:12:41 +02:00
b41df8e120 shuffle packing order to accomodate midi controls 2014-08-11 14:44:12 -05:00
e3cf23b8a0 Don't show all controllers for generic MIDI devices.
This takes a VERY long time to do, so is probably a problem for defined devices
with a ton of channels and devices, too.  Not sure what the smart thing to do
here is, though adding lanes really shouldn't be this slow in the first place.
2014-07-15 15:18:18 -04:00
d65091db16 Show all named controllers for "Show All Automation" on MIDI tracks. 2014-07-15 15:18:18 -04:00
c3f9688c37 Show 1-based channel numbers in MIDI controller automation menu.
This matches the numbers shown elsewhere, previously if you had a track set to
e.g. channel 10, the controller menu items had "[9]" suffixes.
2014-07-15 15:18:18 -04:00
0a87bbc37b add partial support for mute automation (playback does not work, data is not recorded in the session) 2014-07-01 14:37:05 -04:00
a3c378cf62 move utility functions into a dedicated namespace 2014-06-25 21:47:54 +02:00
343b06d8d3 dramatic change in logic and naming for operations related to adding a MIDI region on demand and cloning/unlinking
Existing code would cause data loss due to creation of two Source objects referring the same path, one with removable flags and one without. Careful code review suggested a variety of thinkos, function naming problems and other confusion that caused this. I have tried ot extensively comment what is going on with these operations, because it is one key area in which MIDI differs from audio: with audio, capture is the only way to add a new audio region, but for MIDI there are GUI input events that can add a new region.
2014-04-14 02:17:30 -04:00
f901337a16 Enforce const correctness for a couple of iterators 2014-01-30 16:30:48 +00:00
33cadc0ef1 Add namespace qualifiers for some occurrences of 'Gtk::CheckMenuItem' (Windows already has a function called 'CheckMenuItem') 2014-01-30 16:30:48 +00: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
19bb2b33a8 Merge remote-tracking branch 'remotes/origin/cairocanvas' into windows
Conflicts (hopefully resolved):
	gtk2_ardour/marker.cc
	gtk2_ardour/midi_region_view.h
	gtk2_ardour/region_gain_line.h
	gtk2_ardour/utils.cc
	gtk2_ardour/video_image_frame.cc
	gtk2_ardour/wscript
	libs/backends/jack/wscript
2013-09-21 09:17:25 +01:00
fee2c9d71f Fix ambiguous type CheckMenuItem that is also defined via windows.h 2013-07-22 13:44:32 +10:00
9cbe231b92 Use PBD::ffs for portability 2013-07-17 21:40:34 +10:00
c08b336292 Fix ambiguous type CheckMenuItem that is also defined via windows.h 2013-07-11 15:32:31 -04:00
38f2aa51bd Merge branch 'master' into cairocanvas 2013-07-09 09:11:52 -04:00
da1e8701eb fix alignment of meters on midi-tracks 2013-07-03 04:52:02 +02:00
ce8731b32d Merge branch 'master' into cairocanvas 2013-06-06 09:52:21 -04:00
7ab25697d2 Mark forgotten messages for translation (from Alexandre Prokoudine) 2013-05-30 21:36:39 +02:00
e2f0c5f91e merge resolution with master 2013-05-02 20:21:54 -04:00
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
19bd641915 commit immediately post linking 2013-04-04 18:45:27 -04:00
aaea166135 initial commit of hand merging, plus getting "ancient" waf script to work correctly 2013-04-04 00:32:52 -04:00
c184d1fbe6 add tooltip for channel edit button 2013-03-30 09:19:37 -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
03e06e71d6 Fix border case where bank select controlers are last in midnam file.
Fix potential infinite loop in controller menu generation.


git-svn-id: svn://localhost/ardour2/branches/3.0@14001 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-26 22:30:34 +00:00
84eee94b1e Fix named controls menu to display all controls (don't miss the last submenu).
git-svn-id: svn://localhost/ardour2/branches/3.0@14000 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-26 22:08:06 +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
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
cc8b42f167 Set MIDI device model to "Generic" by default (previously was unset).
Perhaps it should be "Standard MIDI" though?


git-svn-id: svn://localhost/ardour2/branches/3.0@13900 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-19 19:06:21 +00:00
fe980b5c99 fix MIDI track channel selector etc. visibility after show_all()=>show() changes in recent commit
git-svn-id: svn://localhost/ardour2/branches/3.0@13899 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-19 16:05:06 +00:00
c779251a3e fix midnam-related crash introduced around 13892
git-svn-id: svn://localhost/ardour2/branches/3.0@13897 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-19 13:15:10 +00:00