13
0
Commit Graph

10229 Commits

Author SHA1 Message Date
301000c94e make new action to bind BackSpace to in processors box 2016-06-02 14:46:35 -04:00
eee83c25a9 make all TimeAxisView derived types return PresentationInfo for sorting 2016-06-02 14:46:35 -04:00
nick_m
050035e787 Actions - make set-tempo-from-edit-range sensitive to time selection. 2016-06-03 03:16:50 +10:00
6baac7d46f various safety checks for the result of dynamic_cast-ing a TimeAxisView to RouteTimeAxisView
Now that we have VCATimeAxisView, this needed to be done, but it also potentially applied with automation
2016-06-02 08:42:58 -04:00
3835b782b3 part three of using LocaleGuard with pane sizes 2016-06-02 08:17:20 -04:00
bac7a13d0f the second half of using LocaleGuard with pane sizes 2016-06-02 08:09:34 -04:00
79a9be434c add LocaleGuards to 2 places where we save pane sizes (which are floating point values now) 2016-06-02 08:04:08 -04:00
d680c1f1db fix styling of pane dividers (the original reason for the "*Pane*" widget=>style spec) 2016-06-01 22:23:34 -04:00
0d999ea4ec remove un-used name_hbox widget from TimeAxisView 2016-06-01 21:57:43 -04:00
43b6a7aca3 remove unneeded widget style definition 2016-06-01 21:57:43 -04:00
ef8f9d466c remove unnecessary wildcard GTK widget=>style mapping 2016-06-01 21:57:43 -04:00
c5b97e70be add Open Target Folder button to Export Dialog 2016-06-02 00:09:37 +02:00
22cbc69074 only show "Pin Connections..." in mixer-strip if there are plugins 2016-06-01 22:43:40 +02:00
f513878c8a MSVC itself defines a class called CheckMenuItem - so make sure we know to use the one from Gtk 2016-06-01 14:30:29 +01:00
b53ee9cd1e new api - update e0ff70cf 2016-06-01 15:12:26 +02:00
d9c98a51c2 fix windows builds & remove cruft
There's no mkstemp() for windows -> use Glib::file_open_tmp()
also ofstream should not be used (on windows it does not support UTF8 fn)
strstream + Glib::file_set_contents ()
2016-06-01 12:01:25 +02:00
c31bbd636b fix incorrect value in default_ui_config 2016-05-31 21:17:34 -04:00
82273a7551 change install target dir for color theme files 2016-05-31 15:59:27 -04:00
9c69d6f0c3 show color theme file search path when a file is not found 2016-05-31 15:59:14 -04:00
bf84903352 clean up some dangling code from ThemeManager 2016-05-31 15:30:46 -04:00
9710eaa831 reflect inclusion of appname in theme file name 2016-05-31 15:30:46 -04:00
6563439e1f rename color files to be program specific, and rename cainelton as caineville 2016-05-31 15:30:46 -04:00
3e5821428b install program-specific color files 2016-05-31 15:30:46 -04:00
6ec731c5fa rework of color theme file management
Use program-name + version when saving user color files (and search for them)
Preset XML-defined theme name, but use filename in config files (could be wrong).
2016-05-31 15:30:46 -04:00
ae314207b1 add theme name to each color theme file 2016-05-31 15:30:46 -04:00
b90e373d70 it is probably a mistake to rename dark -> Dark at this particular point in time 2016-05-31 15:30:45 -04:00
2562b4a2f0 handle old-version pane positions by ignoring them 2016-05-31 15:30:45 -04:00
fae3aee849 tweak layout in theme manager prefs 2016-05-31 15:30:45 -04:00
cb4b6bf8a3 remove debug output 2016-05-31 15:30:45 -04:00
268219d668 fix theme path for ardev and cousins 2016-05-31 15:30:45 -04:00
541a419cfe fix unused variable warning 2016-05-31 15:30:45 -04:00
2d485f6154 install theme files during waf install 2016-05-31 15:30:45 -04:00
4c60a925c0 the return of the theme selector, plus 3 new themes from cooltehno 2016-05-31 15:30:45 -04:00
6151caf599 set pane drag cursors in mixer 2016-05-31 15:30:45 -04:00
76620819e0 use new pane API 2016-05-31 15:30:45 -04:00
518fd81e6c restore mixer pane sizing 2016-05-31 15:30:45 -04:00
5df9c2178e remove unneeded code with new pane 2016-05-31 15:30:45 -04:00
cc88501d97 set minimum size for editor list 2016-05-31 15:30:45 -04:00
d30266dfc3 use new record safe control in GUI 2016-05-31 15:30:45 -04:00
a26a85de14 set editor pane cursors 2016-05-31 15:30:45 -04:00
95be25047c style colors for Pane 2016-05-31 15:30:45 -04:00
91a95b086a initial sort-of-mostly-working integration of new Pane 2016-05-31 15:30:45 -04:00
a9b919e877 use standard method to identify context click on patch change 2016-05-31 15:30:44 -04:00
e3c4f5fa98 make double-click on patch change launch patch change editor 2016-05-31 15:30:44 -04:00
4653e301c8 slight improvement of MIDI program names in verbose cursor while scrolling 2016-05-31 15:30:44 -04:00
428ed8ae1b stop playing silly games with widget packing when editing a route name in the edito
Use a FloatingTextEntry instead. All clever functionality from previous
implementation has been retained.
2016-05-31 15:30:44 -04:00
30d0b2a354 minor state tweaks for VCA time axis solo+mute buttons 2016-05-31 15:30:44 -04:00
531dca486d make VCA strips sensitive to solo model 2016-05-31 15:30:44 -04:00
670e79f7d1 do not accidentally try to select VCA time axis views for context clicks or other conditional ops 2016-05-31 15:30:44 -04:00
482873760c initial implementation of VCA time axis views 2016-05-31 15:30:44 -04:00
e626db22a0 make selectability of a TimeAxisView be overridable 2016-05-31 15:30:44 -04:00
4aea553467 not quite as many magic numbers when deciding if a group color is too close to black 2016-05-31 15:30:44 -04:00
63f50b1fc5 no-op: move comment to make scope more clear 2016-05-31 15:30:44 -04:00
a12ce428d0 fix wierd TimeAxisView initial attachment for the name hbox 2016-05-31 15:30:44 -04:00
d4070a7e3e pre-size TimeAxisView controls_table to something more like the correct rows x cols 2016-05-31 15:30:44 -04:00
f022784014 convert editor routes code to use Stripable 2016-05-31 15:30:44 -04:00
eaddf752c7 hacked up incomplete use of print-key-bindings-as-html 2016-05-31 15:30:44 -04:00
4cd6d52013 make Escape (cancel drag or selection) work in mixer as well as editor 2016-05-31 15:30:44 -04:00
791d0196d6 make various button press events work on VCA strip vertical button; improve spacing 2016-05-31 15:30:44 -04:00
f8f7894ad9 make create group with master actually create (and name) master 2016-05-31 15:30:44 -04:00
4b11bb4d15 no-op; change comment 2016-05-31 15:30:44 -04:00
2a19dbb307 add header required when boost shared ptr debugging is in use 2016-05-31 15:30:44 -04:00
e12fdc81b4 use correct GTK response code, given YES/NO buttons 2016-05-31 15:30:44 -04:00
061c58f16a typo fixes 2016-05-31 15:30:44 -04:00
e86926baaf make drop button on VCA strip actually work 2016-05-31 15:30:44 -04:00
cc3f029c73 remove name button from vca strip; add drop button 2016-05-31 15:30:43 -04:00
b81fec9d58 rearrange group tabs menu 2016-05-31 15:30:43 -04:00
c6ad232796 more work on presenting GUI actions to connect Route groups and control masters 2016-05-31 15:30:43 -04:00
8e81db7a92 use new ::slaved_to() method in VCA master strip 2016-05-31 15:30:43 -04:00
c1592864e1 a start at the group/master menu related structure 2016-05-31 15:30:43 -04:00
bd43428a65 add route dialog should always show up wherever the mouse is, not in its last location 2016-05-31 15:30:43 -04:00
57000d7d5a allow context click on blank space in VCA packer to drive add route dialog 2016-05-31 15:30:43 -04:00
808346de0f vca: make Remove context menu option work
Also cancel spill view if relevant, during VCA Master Strip deletion
2016-05-31 15:30:43 -04:00
69d2758e8c actual implementation of VCA spill for mixer 2016-05-31 15:30:43 -04:00
45b5c9667e basics of spill control in place (actual change in mixer display, not done) 2016-05-31 15:30:43 -04:00
1d81392e37 use ArdourButton for the vertical space/button/label in VCAMasterStrip 2016-05-31 15:30:43 -04:00
effb08c121 hack to ArdourButton to get sizing correct for 90 + 270 degree rotated text 2016-05-31 15:30:43 -04:00
0b4d9c9d63 code consolidation 2016-05-31 15:30:43 -04:00
2886b9659b vertical VCA names in VCA strips 2016-05-31 15:30:43 -04:00
8b48aff077 fix GUI handling of surface select requests to include possibility of selecting non-Routes 2016-05-31 15:30:43 -04:00
08f01085de remove now-redundant control protocol route-selection signals 2016-05-31 15:30:43 -04:00
c438ba2b6e remove no-longer-used TrackSelectionChanged signal from ControlProtocol 2016-05-31 15:30:43 -04:00
04b3d9c874 fix an issue with the add bus/track dialog name template, left unchanged after selecting for VCA masters 2016-05-31 15:30:43 -04:00
83052ad18c clean up debug output for OrderKeys 2016-05-31 15:30:42 -04:00
daab42f209 use Session::notify_presentation_info_changed() rather than emitting Stripable::PresentationInfoChange after editor-based reordering 2016-05-31 15:30:42 -04:00
2c9c210213 manually fix rebase/merge issues caused by addition of plugin presets to methods which add a new track/bus 2016-05-31 15:30:42 -04:00
153d2a1c1b tweak Editor to use Stripable methods for control-surface-driven selection 2016-05-31 15:30:42 -04:00
3eae4b0974 tweak Editor to use Stripable methods for control-surface-driven selection 2016-05-31 15:30:42 -04:00
52d4cea712 fix dialog message shown when a backup of an old session file is made 2016-05-31 15:30:42 -04:00
e0ff70cf86 first vaguely working version using PresentationInfo
remote control ID and "order keys" have been removed.
2016-05-31 15:30:42 -04:00
bae9474e9f make VCA delete button work 2016-05-31 15:30:42 -04:00
ba4464dc3c show/hide VCA assign buttons depending on VCA existence 2016-05-31 15:30:42 -04:00
760beab7fa use Slavable API in GUI 2016-05-31 15:30:41 -04:00
69f67b6198 use setlocale() in preference to gtk_set_locale() 2016-05-31 15:30:41 -04:00
b4c43f0878 improve clean-up of GUI VCA-related objects 2016-05-31 15:30:41 -04:00
0d62997eab restore right-click in track/bus scroller to drive add route 2016-05-31 15:30:41 -04:00
9197116a1a change API for ARDOUR_UI::add_route() to no longer require a float window 2016-05-31 15:30:41 -04:00
a598b4a708 use new paned-sizing strategy in editor 2016-05-31 15:30:41 -04:00
593430a4c5 no-op: comment 2016-05-31 15:30:41 -04:00
a48fada3c7 move new fractional pane utility functions into libs/gtkmm2ext 2016-05-31 15:30:41 -04:00
02f2b90e96 a big fat comment 2016-05-31 15:30:41 -04:00
4ba85da9ea redesign pane-sizing mechanism for mixer
This needs more comments to explain what is going on. It also needs to be applied to the editor
2016-05-31 15:30:41 -04:00
d283cefe12 get VCA status correct in strips on first load 2016-05-31 15:30:41 -04:00
1c5a08d6d3 fix implicit active display in VCA strips for solo 2016-05-31 15:30:41 -04:00
5b5e64d860 remove Route::listening_via_monitor()
This is better tested with direct use of the solo_control and
Config->get_solo_controls_are_listen_controls()
2016-05-31 15:30:41 -04:00
69250b64ea move ever close to working master/slave logic, this time with audio testing 2016-05-31 15:30:41 -04:00
202ddba9e2 remove more debug output 2016-05-31 15:30:41 -04:00
6de4953be8 a variety of changes that get closer to correctly functioning behaviour for VCA solo+mute (BUT ARE NOT DONE YET) 2016-05-31 15:30:41 -04:00
4615e090b4 remove some debug output 2016-05-31 15:30:40 -04:00
e1bcd70712 a slew of as-yet incomplete work to get VCA solo+mute closer to working 2016-05-31 15:30:40 -04:00
b2b5c965c8 some tweaks for solo logic to get things working as they were before (correctly) 2016-05-31 15:30:40 -04:00
537272b3b1 direct connect monitoring changes to the real RouteUI method (no-op, really) 2016-05-31 15:30:40 -04:00
653ae4acd6 universal change in the design of the way Route/Track controls are designed and used. The controls now own their own state, rather than proxy for state in their owners.
Massive changes all over the code to accomodate this. Many things are not finished. Consider this a backup safety commit
2016-05-31 15:30:40 -04:00
c107f1ab56 show VCA master mute state in RouteUI, even if Config->get_show_solo_mutes() is false (since it is orthogonal) 2016-05-31 15:30:40 -04:00
36784ee94f use route automation control Changed() signals for solo/mute in GUI 2016-05-31 15:30:40 -04:00
91f8c0be54 use new API for control slave/master relationships 2016-05-31 15:30:40 -04:00
9f66fe1ebb start adding a context menu for VCA strips 2016-05-31 15:30:40 -04:00
567fb50aad GUI tweaks for VCAMasterStrip, including renaming 2016-05-31 15:30:40 -04:00
b34f949518 follow session track-number policy in mixer strip, as is done in the editor 2016-05-31 15:30:40 -04:00
1249e61d73 trivially change API of GainMeter but more importantly don't show meter if no Route is set 2016-05-31 15:30:40 -04:00
fcec93a28e remove VCA active button 2016-05-31 15:30:40 -04:00
04e26fe7e6 move VCA assignment up to Route level 2016-05-31 15:30:39 -04:00
406e9d05ce use redesigned Route and VCA object architecture/API 2016-05-31 15:30:39 -04:00
a03d969a97 update VCA assign buttons to show status for VCA strips 2016-05-31 15:30:39 -04:00
cd6a88d0d4 fix incorrect selection of all strips/tracks at opening.
Old code was counting how many child nodes where in the MixerUI, assuming they
were all routes, and using that to decide if this was a from_scratch setup.
The addition of VCAs to the track_model changes that, so now we have to actually
check there are no existing Routes before doing the from_scratch setup
2016-05-31 15:30:39 -04:00
6f9beb1e33 no self-assign for VCA masters 2016-05-31 15:30:39 -04:00
dc9f579a8b add GUI support for slaving VCAs to other VCAs 2016-05-31 15:30:39 -04:00
9339a7b997 add solo/mute controls to VCAMasterStrip 2016-05-31 15:30:39 -04:00
a38aabfce3 revert GainMeter back to simpler code now that VCA model appears correct 2016-05-31 15:30:39 -04:00
c572d4ed9e add VCAMasterStrip::set_selected() 2016-05-31 15:30:39 -04:00
4d87503863 fix restoration of editor pane positions 2016-05-31 15:30:39 -04:00
419c7e95f3 GUI modifications to improve VCA strips and their placement in the mixer
Note that this includes some changes that actually make mixer pane settings get restored,
which has been broken for some time. Of course, they are not restored perfectly, yet.
2016-05-31 15:30:39 -04:00
c5c6be4170 adjust logic for slaved faders, not necessarily correctly.
More info in the code comments.
2016-05-31 15:30:39 -04:00
0275582b89 rename GainMeter::gain_adjusted() to GainMeter::fader_moved() to be more clear 2016-05-31 15:30:39 -04:00
8e643563e5 make GUI fader positions reflect VCA master values 2016-05-31 15:30:39 -04:00
7f244ce14d use VCAUpdateStatus to keep VCA button current 2016-05-31 15:30:39 -04:00
3be9d6dccc remove debug output 2016-05-31 15:30:39 -04:00
8ce39c891b change sort ordering model in mixer and editor
This allows correct reordering of the mixer "track_model" even
when non-route elements are present.

This isn't really utilized in the Editor at present because we do
not show VCAs there at all, but it will become important in the
future when we represent VCA automation there
2016-05-31 15:30:39 -04:00
75b327964b tweak mixer VCA button appearance and prepare for live updates to VCA state 2016-05-31 15:30:39 -04:00
d47dc72595 single button for VCA assignment, plus unassign now works 2016-05-31 15:30:38 -04:00
acaaa98bd0 start shaping up VCA assign process 2016-05-31 15:30:38 -04:00
4d14ae4e23 mostly restore VCA state on session loading.
This does not restore VCA assignments
2016-05-31 15:30:38 -04:00
33e56e58d7 initial part of vca assignment via context menu 2016-05-31 15:30:38 -04:00
089549acb6 add 4 harrison-style vca assign buttons to the mixer strip 2016-05-31 15:30:38 -04:00
51c833dff5 change packing of GainMeter so that the fader+meter will expand to fill available space 2016-05-31 15:30:38 -04:00
99d251de7d first pass at making the GUI for a VCA visible 2016-05-31 15:30:38 -04:00
3819d4f9ed fix manual merge error 2016-05-31 15:30:38 -04:00
0e1190c555 extend add route dialog to include VCA masters 2016-05-31 15:30:38 -04:00
c5ba2d1eb6 add a new packer to the mixer, to hold vca master faders (if any) 2016-05-31 15:30:38 -04:00
99b0712be4 remove the entire idea of a tabbable for VCA master faders
Conflicts:
	gtk2_ardour/master_faders.cc
2016-05-31 15:30:38 -04:00
f4032599f2 fix API of VCA strip
Conflicts:
	gtk2_ardour/master_faders.cc
2016-05-31 15:30:38 -04:00
026dc718ee set controls for VCA strip 2016-05-31 15:30:38 -04:00
b3d5d4f138 correctly set up members of GainMeterBase in ::set_controls() 2016-05-31 15:30:38 -04:00
f5c717e893 fake the existence of a master fader strip
Conflicts:
	gtk2_ardour/master_faders.cc
2016-05-31 15:30:38 -04:00
fd3a19b06e skeleton versions of VCA master strips 2016-05-31 15:30:38 -04:00
eec6b7fee2 call ::set_session on master faders section 2016-05-31 15:30:38 -04:00
b07d0e3747 remove unused "old-order" stuff from AxisView 2016-05-31 15:30:38 -04:00
33bf858a5f remove stupid, unused function 2016-05-31 15:30:38 -04:00
89a4d689d1 make the master faders visibility button work 2016-05-31 15:30:38 -04:00
5c658db4bf most of the changes required to add a new master faders tabbable
the visibility button isn't actually working correctly
2016-05-31 15:30:38 -04:00
bd74d7fbe9 there won't be an Ardour 4.8 release 2016-05-30 21:02:12 +02:00
nick_m
5d6ad68004 Revert terrible thinko in 647c86e. (back to slow for now) 2016-05-29 05:57:19 +10:00
nick_m
647c86e0f7 Speed up redraw while tempo dragging with midi regions (and possibly other redraws) 2016-05-29 05:47:11 +10:00
nick_m
a924e938aa Allow non-musical snap when dragging bbt ruler.
- probably not what the user wants,
	  unless snapping beats to timecode frames.
2016-05-28 06:50:22 +10:00
nick_m
0d17c21410 Revert 2d7f755 2016-05-28 05:17:43 +10:00
nick_m
5d3467d768 Allow user to have the snap modifier pressed when using the constraint modifier to initiate a bbt ruler drah. 2016-05-28 04:34:10 +10:00
nick_m
2d7f755df6 Enable snap for tempo dilation. 2016-05-28 03:21:16 +10:00
nick_m
062e17a542 Don't change snap settings when dragging audio-locked meters. 2016-05-28 03:16:06 +10:00
nick_m
1c51cbcc82 Force snap when dragging meters. 2016-05-28 02:57:53 +10:00
nick_m
9506fd884d Restore snap setting in eterMarkerDrag::aborted()/ 2016-05-28 02:47:12 +10:00
nick_m
b9f70334b6 Dragging a meter sets editor snap type to bars during drag. 2016-05-28 00:48:18 +10:00
nick_m
aad7b129b6 Tempo ramps - rename meter/tempo_section_at() -> meter/tempo_section_at_frame() 2016-05-27 23:38:18 +10:00
nick_m
34c9ac9dd7 Tempo ramps - rename bbt_time() -> bbt_at_frame(), frame_time() -> frame_at_bbt() 2016-05-27 23:38:17 +10:00
nick_m
baf8f37967 Tempo ramps - rename meter_at() -> meter_at_frame() & make the ticker slightly more efficient. 2016-05-27 23:38:17 +10:00
nick_m
8f3bc6f809 Tempo ramps - rename tempo_at() -> tempo_at_frame().. 3 decimals for the audioclock tempo display. 2016-05-27 23:38:17 +10:00
nick_m
6e97f40d08 Tempo ramps - remove thinko 2016-05-27 23:38:17 +10:00
nick_m
390dea1684 Tempo ramps - fix comment 2016-05-27 23:38:17 +10:00
nick_m
389e35f7be Tempo ramps - ensure fake meter mark is under pointer during drags. 2016-05-27 23:38:17 +10:00
nick_m
de5f8dd3d3 Temper pants - fix newly added lockup while dragging tempos sometimes. 2016-05-27 23:38:17 +10:00
nick_m
a9921c10eb Gd Lk ramps - rework auto scaling. change colour. 2016-05-27 23:38:17 +10:00
nick_m
1927a707c5 Tempo ramps - fix huge marker height mark, remove unused var. 2016-05-27 23:38:17 +10:00
nick_m
43922a1fe1 Tempo ramps - clean up tempo dragging. 2016-05-27 23:38:17 +10:00
nick_m
6309807bc7 Tempo ramps - rename for consistency, remove some testing code, add meter based bbt->pulse conversions. 2016-05-27 23:38:17 +10:00
nick_m
f54b75c869 Tempo ramps - consolidate meter dragging code. 2016-05-27 23:38:17 +10:00
nick_m
8b2f73d5ac Tempo ramps - rework tempo drags, improve comments. 2016-05-27 23:38:17 +10:00
nick_m
f182235410 Tempo ramps - consolidate TempoMap::predict_tempo() 2016-05-27 23:38:17 +10:00
nick_m
d1a075110a Tempo ramps - more code cleanup, fix cross-marker jumping using tempo dialog bbt 2016-05-27 23:38:17 +10:00
nick_m
6894f468d4 Tempo ramps - no more tempo dilation on meter drag.
- its now a bbt ruler / marker lane thing with the constraint modifier.
2016-05-27 23:38:17 +10:00
nick_m
074db3b861 Tempo ramps - more code consolidation wrt add meter/tempo. 2016-05-27 23:38:16 +10:00
nick_m
82d876b48b Tempo ramps - clean up add/replace tempo 2016-05-27 23:38:16 +10:00
nick_m
820e9a43f5 Tempo ramps - fix various sub-beat tempo line bugs.
- actual meter is taken into account now.
2016-05-27 23:38:16 +10:00
nick_m
cfbc42cd3a Tempo ramps - ensure displayed grid extends beyond the leftmost frame. 2016-05-27 23:38:16 +10:00
nick_m
2d3d7a5355 Tempo ramps - fix ambiguous api, fix flickering tempo curves. 2016-05-27 23:38:16 +10:00
nick_m
058b781258 Tempo ramps - tempo marker's mark indicates curve height ar point. 2016-05-27 23:38:16 +10:00
nick_m
0c7ecc6cbb Tempo ramps - add Canvas::FramedCurve and use it in the tempo marker bar. 2016-05-27 23:38:16 +10:00
nick_m
5ccfeea5bc Tempo ramps - more bbt dragging work.
- display prev tempo and tempo at mouse while dragging
	- simplify ramp dilation somewhat.
2016-05-27 23:38:16 +10:00
nick_m
abac4ce854 Tempo ramps - more bbt ruler dragging work. 2016-05-27 23:38:16 +10:00
nick_m
8724a9f68f Tempo ramps - improve constraint mod + bbt dragging begavior. 2016-05-27 23:38:16 +10:00
nick_m
ccf6ce76d9 Tempo ramps - clean up tempo curve a bit. 2016-05-27 23:38:16 +10:00
nick_m
86b0268e8b Tempo ramps - add visualtempo curve, dragging bbt or music rulers with constraint modifier dilates previous tempo. 2016-05-27 23:38:16 +10:00
nick_m
8b4f5dcd5f Tempo ramps - reinstate cross-dragging of music-locked meters, various bug fixes.
- revert failed frameoffset_t experiment
	- caclulate meters using bbt
	- fix tempo dilation when first tempo is ramped.
2016-05-27 23:38:16 +10:00
nick_m
992fc6b510 Tempo ramps - music-locked meter drags are now bbt based. 2016-05-27 23:38:16 +10:00
nick_m
3c76fa9dd1 Tempo ramps - fix various tempo dragging issues. 2016-05-27 23:38:16 +10:00
nick_m
8bcf57cad4 Tempo ramps - a different approach to audio-locked meters.
- the bbt of a meter cannot be changed by moving tempos or other meters.
	  e.g. tempo motion will be disallowed if it would cause a bbt overlap
2016-05-27 23:38:15 +10:00
nick_m
37ed0f6e9b Tempo ramps - restore correct drag behaviour wrt audio-locked meters and right-click of associalted tempo 2016-05-27 23:38:15 +10:00
nick_m
601ac8565d Tempo ramps - disallow tempo dilation on first meter. 2016-05-27 23:38:15 +10:00
nick_m
e0607ca913 Tempo ramps - add gui dilation of tempos.
- a meter can be dragged using the constraint modifier, which
	  sets the previous tempo accordingly.
	  This could be added to the bbt ruler to allow direct dragging
	  of beats and bars, but the exact behavior of that is still
	  undecided. comments?

	- also preliminary work on the necessary tempos locked to
	  audio-locked meters.
2016-05-27 23:38:15 +10:00
nick_m
29e0b2e5bf Tempo ramps - make moving music-locked meters less flakey, remove some code. 2016-05-27 23:38:15 +10:00
nick_m
b24ce3fbe9 Tempo ramps - one approach to audio-locked meters.
- audio-locked meters retain their 'home' bar position
	  unless altered by another metric.
	  this is an alternative to a more strict model
	  which isn't quite so flexible.
2016-05-27 23:38:15 +10:00
nick_m
4f8fa6787a Tempo ramps - add undo to right-click lock style & ramp type changes. 2016-05-27 23:38:15 +10:00
nick_m
eb70cdce1f Tempo ramps - don't set incorrect lock style when changing tempo type.
- fixes random crashes when changing tempo type with right click.
2016-05-27 23:38:15 +10:00
nick_m
71a90399fe Tempo ramps - fix BBTPoint wtf.
- tempo tick lines should draw properly now.
2016-05-27 23:38:15 +10:00
nick_m
105999956e Tempo ramps - remove unused var. 2016-05-27 23:38:15 +10:00
nick_m
06f294fa18 Tempo ramps - prevent adding tempos before the first tempo. 2016-05-27 23:38:15 +10:00
nick_m
932c7b07fd Tempo ramps - adding a new tempo doesn't involve a dialog. 2016-05-27 23:38:15 +10:00
nick_m
b6afce7173 Tempo ramps - ok so you really do need to redisplay when tempo lock style is changed.. 2016-05-27 23:38:15 +10:00
nick_m
f0955aeb57 Tempo ramps - redraw correctly when changing meter lock style. 2016-05-27 23:38:15 +10:00
nick_m
c6a66f1014 Tempo ramps - redraw after setting tempo type (ramped, constant) from context menu.
- not needed for lock style change.
2016-05-27 23:38:15 +10:00
nick_m
85c3284adc Tempo ramps - add some right-click options to meter and tempo markers. 2016-05-27 23:38:15 +10:00
nick_m
4f7a4cd233 Crapola - this is an experimental performance hack that must be reverted. 2016-05-27 23:38:14 +10:00
nick_m
618a391346 Preformance - reinstate EditorRegions::freeze_tree_model (). 2016-05-27 23:38:14 +10:00
nick_m
74db6f6ad6 Tempo rampos -reorder tempo dialog. 2016-05-27 23:38:14 +10:00
nick_m
b4fce62651 Tempo ramps - newline fix. 2016-05-27 23:38:14 +10:00
nick_m
a117960480 Tempo ramps - first tempo and meter are always audio locked wrt gui.
- fixes some gtk warnings as well
2016-05-27 23:38:14 +10:00
nick_m
72812d2cd0 Tempo ramps - rulers don't request negative bbt.
- i'm reluctant to fix this at the map level.
2016-05-27 23:38:14 +10:00
nick_m
9e1a1b801f Tempo ramps - fix copy/paste error. 2016-05-27 23:38:14 +10:00
nick_m
663814bf22 Tempo ramps - tempo marks use mvc-style copy drag, don't crash if two successive ramped tempos are the same :| 2016-05-27 23:38:14 +10:00
nick_m
c5790b1cb6 Tempo ramps - fix dragging audio-locked meters across each other. 2016-05-27 23:38:14 +10:00
nick_m
eeb479618b Tempo ramps - fix thinko in meter drag aborted handling 2016-05-27 23:38:14 +10:00
nick_m
a837ce28f5 Tempo ramps - don't replace the meter when drag finished. handle aborted.
- meter has already been placed there.
2016-05-27 23:38:14 +10:00
nick_m
3059adea7b Tempo ramps - fix for dragging audio-locked meters over no time. 2016-05-27 23:38:14 +10:00
nick_m
dabed0672d Tempo ranps - fix compilation 2016-05-27 23:38:14 +10:00
nick_m
96cf262c23 Tempo ramps - meters can be dragged across each other.
- also removes some fairly silly code,
2016-05-27 23:38:14 +10:00
nick_m
3048758369 Tempo ramps - copy-drag meters works again.
- meter drags now use mvc style.
2016-05-27 23:38:13 +10:00
nick_m
3d07cd79e1 Tempo ramps - api change, remove some code. 2016-05-27 23:38:13 +10:00
nick_m
b5021eb7f3 Tempo spamr - smallify some code. 2016-05-27 23:38:13 +10:00
nick_m
5d37fc6e36 Tempo ramps - more multi audio-locked meter work, code reorganisation. 2016-05-27 23:38:13 +10:00
nick_m
a53d94c3d0 Perfornamce - remove dubious optimisation. 2016-05-27 23:38:13 +10:00
nick_m
b39db7ebeb Tempo ramps - a saner way to snap music-locked tempos. 2016-05-27 23:38:13 +10:00
nick_m
6b7dd59b7a Tempo ramps - fix incorrect verbose cursor during tempo drag. 2016-05-27 23:38:13 +10:00
nick_m
a9714de9b9 Tempo ramps - tempo drags respect the snap modifier. add some documentation. 2016-05-27 23:38:13 +10:00
nick_m
354567e5a7 Tempo ramps - switch MusicLocked tempos to beat-based dragging. fix various bugs wrt future-snapped tempo drags 2016-05-27 23:38:12 +10:00
nick_m
a2797f4d38 Tempo ramps - use correct meter when snapping to the future. 2016-05-27 23:38:12 +10:00
nick_m
daa07ce6e0 Tempo ramps - tempos now musically snap to their future. 2016-05-27 23:38:12 +10:00
nick_m
59df9880a4 Performance - Use fixed height mode and fixed column width in region list. 2016-05-27 23:38:12 +10:00
nick_m
58f01bb3f7 Tempo rambo - more bbt scale fiddling. 2016-05-27 23:38:12 +10:00
nick_m
15f8f371c3 Tempo rampo - tempo tick lines no longer assume constant tempo. 2016-05-27 23:38:12 +10:00
nick_m
cb43d485fa Tempo ramps - another approach to first meter/tempo.
- first tempo is glued to first meter position as they are now
	  both locked to AudioTime.
	- all existing audio-locked tempos to the left of the first meter
	  are made inactive. all to the right are made active.
2016-05-27 23:38:12 +10:00
nick_m
4de28f0745 Tempo ramps - fix just-introduced undo crash. 2016-05-27 23:38:12 +10:00
nick_m
a64e46a6b3 Tempo ramps - allow constraint-drag of first tempo. 2016-05-27 23:38:12 +10:00