13
0
Commit Graph

336 Commits

Author SHA1 Message Date
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
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
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
d251c68d76 Avoid some copy overhead and sprinkle in some const for good measure.
git-svn-id: svn://localhost/ardour2/branches/3.0@13891 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-19 06:17:02 +00:00
9b2dad56d1 Reflow ridiculously wide code.
Sorry.


git-svn-id: svn://localhost/ardour2/branches/3.0@13890 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-19 05:54:44 +00:00
94c7798712 Hide MIDI device mode selector unless there is actually more than one mode.
Since this is usually not the case, showing this all the time as before was so
confusing everyone thought it was broken (myself included).

Changing that show_all() to a show() might have consequences, but it seems to
work fine and we really shouldn't be using show_all() anyway.


git-svn-id: svn://localhost/ardour2/branches/3.0@13889 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-19 05:36:43 +00:00
e092fe33af Preliminary support for named MIDI controllers via midname files.
Add midnam file for Moog Minitaur controller names.


git-svn-id: svn://localhost/ardour2/branches/3.0@13852 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-16 08:24:31 +00:00
Hans Baier
4c9fcd407c implement double click to ContentsRange on MidiScroomer
git-svn-id: svn://localhost/ardour2/branches/3.0@13284 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-16 09:19:19 +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
a5fd5d73dc further tweak midi channel selector layout in track header
git-svn-id: svn://localhost/ardour2/branches/3.0@13247 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-11 08:55:20 +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
33ba28e2e2 Fix visibility of midi scroomer and keyboard.
git-svn-id: svn://localhost/ardour2/branches/3.0@12717 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-13 23:28:32 +00:00
Carl Hetherington
da6f9ab807 Scale the piano roll right with stacked tracks, as well.
git-svn-id: svn://localhost/ardour2/branches/3.0@12713 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-13 20:58:12 +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
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
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
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
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
d5e14b3d91 eventloop and abstractui debugging, lots more commenting on abstractui/eventloop implementation; minor tweaks elsewhere
git-svn-id: svn://localhost/ardour2/branches/3.0@12076 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-24 16:45:38 +00:00
Carl Hetherington
a2897ecef6 Fairly major change to the way in which crossfades are handled;
they are now done with region fades, rather than separate objects.
After this commit, Ardour will try to convert your session files
to the new crossfade format, but will make a backup in your
session folder first.

If you have works in progress using Ardour 3 it is
***STRONGLY RECOMMENDED*** that you back up session files before
updating to this commit.


git-svn-id: svn://localhost/ardour2/branches/3.0@11986 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-16 16:32:22 +00:00
Carl Hetherington
ded5147dee Remove unused dialog.
git-svn-id: svn://localhost/ardour2/branches/3.0@11597 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-05 13:19:05 +00:00
Carl Hetherington
3396a9a851 Simplify GUIOBjectState a bit by just walking the XML
directly rather than maintaining internal data
structures.


git-svn-id: svn://localhost/ardour2/branches/3.0@11287 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-20 18:02:43 +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
6304261b98 Re-work layering in possibly debatable ways. Sketchy docs in doc/layering.
git-svn-id: svn://localhost/ardour2/branches/3.0@11088 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-27 01:42:49 +00:00
Carl Hetherington
1e97a0dcbe Set up piano roll and scroomer objects before the MidiTimeAxisView height gets set up, so that their visibility can be initialised correctly. Fixes #4515.
git-svn-id: svn://localhost/ardour2/branches/3.0@10828 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-27 13:44:45 +00:00
Carl Hetherington
a33fe692e6 Fix partial visibility of piano roll when changing MIDI track height in various ways (#2842, #3904).
git-svn-id: svn://localhost/ardour2/branches/3.0@10827 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-27 13:44:40 +00:00
Carl Hetherington
7e5dea02fb Fix mute display on session load (#4480).
git-svn-id: svn://localhost/ardour2/branches/3.0@10703 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-19 12:18:20 +00:00
11fdd6cd18 solo buttons are now ArdourButtons
git-svn-id: svn://localhost/ardour2/branches/3.0@10401 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-02 18:48:32 +00:00
592bfa3616 mute and send-alert buttons are now ArdourButtons
git-svn-id: svn://localhost/ardour2/branches/3.0@10397 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-02 16:46:49 +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
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
Carl Hetherington
80972784e3 Fix non visibility of previously-visible MIDI automation
tracks on session reload.


git-svn-id: svn://localhost/ardour2/branches/3.0@9863 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-13 17:13:30 +00:00
65c2782e6e fix up horizontal sizing of the track controls area in the editor
git-svn-id: svn://localhost/ardour2/branches/3.0@9797 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-07 13:15:53 +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
a581b356b1 A few capitalisation fixes.
git-svn-id: svn://localhost/ardour2/branches/3.0@9530 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-16 22:22:57 +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
cb643ab965 Remove some calls to process_updates() which I think prevent GTK coalescing redraw requests. Remove some debugging code. Suspend update of MIDI regions during scroomer drag to speed things up (#3954).
git-svn-id: svn://localhost/ardour2/branches/3.0@9357 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-16 13:31:27 +00:00
92578ddef5 show internal edit mode status correctly on session load
git-svn-id: svn://localhost/ardour2/branches/3.0@9101 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-08 01:49: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
8f7db269cb Create ghost regions when automation tracks are added, as well as on session reload (#3801).
git-svn-id: svn://localhost/ardour2/branches/3.0@8973 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-26 23:48:43 +00:00
Carl Hetherington
9ac5fdfefb Don't show Crossfade-related menu items on busses.
git-svn-id: svn://localhost/ardour2/branches/3.0@8913 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-21 00:16:36 +00:00
Carl Hetherington
97e2aedc2d Make controller menu items look the same whether for one channel or many (#3779).
git-svn-id: svn://localhost/ardour2/branches/3.0@8886 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-17 16:43:30 +00:00
Carl Hetherington
469b390e52 Fix addition of MIDI automation points (#3780).
git-svn-id: svn://localhost/ardour2/branches/3.0@8885 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-17 16:18:45 +00:00
Carl Hetherington
5576faf943 Clean up some confusion with AutomationControls in AutomationTimeAxisViews that have regions.
git-svn-id: svn://localhost/ardour2/branches/3.0@8883 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-17 16:18:27 +00:00
Carl Hetherington
81aef8b491 Minor tidying-up.
git-svn-id: svn://localhost/ardour2/branches/3.0@8882 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-17 16:18:15 +00:00
5f93192aa3 fix crash when opening MIDI controller automation tracks, caused by addition of "owner" field to an AutomationController, used to print values. Renamed "owner" to "printer" and required it to be non-null
git-svn-id: svn://localhost/ardour2/branches/3.0@8874 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-16 19:34:11 +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
1e8586742e Fix session range location by hooking into the undo system. Fixes #3654.
git-svn-id: svn://localhost/ardour2/branches/3.0@8539 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-01-19 17:38:56 +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
Carl Hetherington
eb0faf3ec3 Remove Program Change automation lane options.
git-svn-id: svn://localhost/ardour2/branches/3.0@8331 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-23 00:02:03 +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
f30402d073 clear_history -> clear_changes and some comments.
git-svn-id: svn://localhost/ardour2/branches/3.0@7685 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-25 17:32:08 +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
c24d323d0c initialize _step_editor to null
git-svn-id: svn://localhost/ardour2/branches/3.0@7642 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-17 14:45:59 +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
9196535878 lotsa keybindings for nearly everything in the step editor
git-svn-id: svn://localhost/ardour2/branches/3.0@7610 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-12 21:02:01 +00:00
95813bfaec when adding a new region for step editing, do rounding-snap, not backwards-snap, to get the region position
git-svn-id: svn://localhost/ardour2/branches/3.0@7602 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-11 22:21:38 +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
355c079f10 make bar-resync button in step editor work (move insertion point to next bar boundary)
git-svn-id: svn://localhost/ardour2/branches/3.0@7543 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-04 23:45:01 +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
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
6b641cdde4 properly track step edit status in editor & mixer windows
git-svn-id: svn://localhost/ardour2/branches/3.0@7533 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-03 21:50:15 +00:00
b1f5a6a68d a bunch of tweaks for the step entry process (computer keyboard input now works, for example)
git-svn-id: svn://localhost/ardour2/branches/3.0@7532 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-03 19:22:57 +00:00
64f9fac9a8 make step entry chord & triplet buttons do their thing, or something close to it
git-svn-id: svn://localhost/ardour2/branches/3.0@7530 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-03 04:13:05 +00:00
e0edca5a2a first, incomplete pass at step entry dialog, along with various SVG and PNG files for notes and dynamics notation
git-svn-id: svn://localhost/ardour2/branches/3.0@7529 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-02 21:52:21 +00:00
32b2ddd24a catch the step edit region if it goes away and prepare to use a new one; step edit insert position starts at the edit point, not the start of the edited region
git-svn-id: svn://localhost/ardour2/branches/3.0@7515 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-27 15:42:14 +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
c685724c80 step editing now accessed via a context menu on MIDI track rec-enable buttons. along the way, fixed up confusion between set_rec_enable() and set_rec_enabled() methods in Route/Track/Diskstream
git-svn-id: svn://localhost/ardour2/branches/3.0@7482 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-24 16:40:56 +00:00
bf91ed99ec add note IDs and use them for looking up notes during a history rebuild. NOTE: INVALIDATES OLDER HISTORY FILES
git-svn-id: svn://localhost/ardour2/branches/3.0@7449 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-20 16:27:34 +00:00
c8e3f32533 newly created files for use in recording appear in a .stubs folder, and are moved out of it when recording stops
git-svn-id: svn://localhost/ardour2/branches/3.0@7426 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-16 14:55:11 +00:00
fe229a830e GUI-created MIDI regions now steal the pending MIDISource from the track's diskstream, to keep numbering sane; don't create any new MIDI regions if capture collected no data (fixes a crash in my previous commit, and is just logically much more sensible
git-svn-id: svn://localhost/ardour2/branches/3.0@7295 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-24 01:37:24 +00:00
Carl Hetherington
8dd31447be Fix handling of the mapping between parameters and automation CheckMenuItems. Should fix #3206, #3215 and the remainder of #3228.
git-svn-id: svn://localhost/ardour2/branches/3.0@7245 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-08 21:48:38 +00:00
a01dc9b6f2 remove almost-unusued stop_signal.h and clean up the one (unused) place where it was present (VisualTimeAxis, not used in current ardour)
git-svn-id: svn://localhost/ardour2/branches/3.0@7196 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-31 14:21:43 +00:00
Carl Hetherington
ef94fbf11c Remove some dead code. Clean up storage of automation axis menu
items.  Fixes #3174.


git-svn-id: svn://localhost/ardour2/branches/3.0@7157 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-25 14:50:45 +00:00
Carl Hetherington
5779060c7f Possibly fix non-appearing MIDI controls (#3143)
git-svn-id: svn://localhost/ardour2/branches/3.0@7144 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-23 02:41:08 +00:00
Carl Hetherington
dfa39a2a90 Number controllers in the MIDI automation menu, as per #3138. Also use 0-index numbers for the parent menu.
git-svn-id: svn://localhost/ardour2/branches/3.0@7110 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-17 12:01:53 +00:00
Carl Hetherington
20724294c2 Detach submenu before its parent is destroyed. Fixes #3134.
git-svn-id: svn://localhost/ardour2/branches/3.0@7106 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-16 18:04:47 +00:00
Carl Hetherington
0e0beef90f Fix some excessive search-and-replaces.
git-svn-id: svn://localhost/ardour2/branches/3.0@7104 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-15 23:57:41 +00:00
Carl Hetherington
950ac6ef2b Don't try to load separate diskstreams in 3.0 session files. Fix a few uses of Diskstream outside Track.
git-svn-id: svn://localhost/ardour2/branches/3.0@6946 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-21 21:29:15 +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
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
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
dbff8105ab mo' better fixes for managing MIDI CC/automation lanes
git-svn-id: svn://localhost/ardour2/branches/3.0@6473 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-10 18:11:02 +00:00
935eba7979 remove a bunch of debug output
git-svn-id: svn://localhost/ardour2/branches/3.0@6472 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-09 14:40:25 +00:00
ca2f505ec1 lots of debug code still in place, but get a much improved structure for MIDI automation menus actually working. tweaks to follow
git-svn-id: svn://localhost/ardour2/branches/3.0@6470 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-09 02:36:47 +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
ed6545eb5b screw up MIDI control "automation" tracks quite a bit while trying to improve menu structure BUT add a MIDI tracer window and fix a crashing bug caused by regions prematurely being destroyed
git-svn-id: svn://localhost/ardour2/branches/3.0@6465 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-06 21:56:23 +00:00