3a47d99f5f
Fix internal/external snap type restoration.
2015-01-07 19:51:18 -05:00
04bbe402b0
Factor out grid beat divisions.
2015-01-07 19:05:41 -05:00
a4f7c21ec3
now that regions and range selections are exclusive, the separate actions to set ranges or zoom to selections are redundant. save some menu entries and keybindings by consolidating them. also consolidate some code with new function get_selection_extents(). as a side-effect, this checkin fixes the assert failure in play_with_preroll
2015-01-07 15:31:30 -06:00
2a251b4570
MusicalTime => Beats.
2015-01-07 00:12:07 -05:00
nick_m
884cc6f90c
Add automation track control points to undo history (and selection_op history).
2015-01-02 08:01:12 -05:00
nick_m
61315c314d
Make editor undo/redo actions sensitive at appropriate times.
2015-01-02 08:01:12 -05:00
nick_m
a795892492
Separate selection operations into their own temporary history mechanism.
...
The user can now replay *all* earlier selection operations until the next
session undo/redo command, or the completion of a new operation.
Nothing relating to selection ops is stored, and selection operation history
is begun on first idle.
Selection operation history is fundamentally different from the history of
operations which act on a selection in terms of both their viewport and the
amount of information required to replay them.
WRT undo, the user of a selection op doesn't care about the viewport state
at the beginning of an op, but rather that at the end of the previous one.
2015-01-02 08:01:12 -05:00
ee8dbdb009
Fix internal select all.
2014-12-29 21:04:23 -05:00
4c0cebf7f9
MIDI transform dialog.
2014-12-28 16:06:44 -05:00
c14f6c59db
apply font-scale to overall layout (rulers, track-header) - fixes #6088
2014-12-28 15:01:49 +01:00
12a7f12b0b
Context menu for applying edits to note selection.
2014-12-25 15:32:10 -05:00
1de39b8971
Add instrument selector to import dialog.
...
Idea here is for importing large multi-track MIDI files to be immediately
listenable upon play without tediously adding a ton of instrument plugins
manually.
2014-12-24 20:07:10 -05:00
62355de33a
Fix cursor update on nested entry.
...
For example, if you're in a note and something about the mode changes, it's the
underlying region context that needs to change. So, seems we need a stack of
entry contexts to deal with this sort of thing.
Switching in/out of smart mode still doesn't update immediately because we
don't have the y-coordinate needed to update it.
2014-12-23 13:47:59 -05:00
1211278a2b
consolidate zoom-to-range and zoom-to-regions into: zoom-to-selection. ToDo: zoom to selection of midi notes, control points, tracks(?)
2014-12-22 17:42:43 -06:00
David Robillard
670938c8c4
Fix various cursor problems.
...
Add a new scoped cursor system that makes it much harder to screw up and end up
with stick cursors and so on.
2014-12-20 01:13:25 -05:00
341146a975
Remove mouse mode toggling.
2014-12-18 20:26:43 -05:00
66870ddf09
Restore snap when switching to/from internal.
2014-12-18 20:23:34 -05:00
cebf191cba
Make tools toggle-like by switching to last mode.
2014-12-18 20:21:05 -05:00
5fef655380
Remove internal edit mode and add "content" tool.
2014-12-18 20:21:01 -05:00
nick_m
9af9e17adc
Add editor selection state to session history via a SelectionMemento, which
...
combines selection related editor properties with the current editor selection.
The related editor properties are:
mouse mode,
zoom setting,
left frame of the canvas,
y origin of the canvas.
Selection state now includes region views (storing the underlying region id)
and time.
This patch also fixes a region mute undo bug.
2014-12-18 11:03:10 -05:00
9278ae23c4
tweaks to minsec and timecode ruler display, especially at very high zoom.
...
Imported from work on Tracks done in Tel Aviv, November 2014
2014-12-11 12:51:01 -05:00
e66752cec1
add set-session-extents-from-edit-range
2014-12-09 16:18:47 -06:00
4f8714a038
Fix alignment of automation paste.
...
Preserve alignment between notes and control points when doing an internal
copy/paste of both.
Relative alignment between points on multi-paste is still not preserved. Both
behaviours here are actually useful, perhaps a modifier...
2014-12-07 23:16:42 -05:00
603748d68a
Unify gain and draw tools.
...
There might be a few special cases lingering around from attempts at magic tool
business, but this seems to work fine as far as I can tell.
2014-12-07 20:37:46 -05:00
bfbb0f6178
Add legatize and remove overlap MIDI operations.
...
We're going to need the ability to apply MIDI edit operations to a note/control
selection soon...
2014-12-06 23:42:11 -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
31acd96384
Implement "multi-paste" for notes, regions, and automation.
...
The idea here is that pasting several times to the same location doesn't make
sense. Instead, the paste is appended past the last paste, snapped to the
grid. This make it simple to replicate a given section a number of times,
simply by copying once and pasting several times.
This behaviour only appears when successive pastes are done to the same
location (whatever the edit point is). When the paste point changes, the
"multi-paste" state is reset.
Boots 'n cats 'n boots 'n cats.
2014-11-14 20:04:19 -05:00
f900711136
port changes to ARDOUR::Location and ARDOUR::Locations APIs from Tracks to Ardour.
...
Fixes deadlocks caused by mutex on Locations list, and clarifies the purposes and uses of the class-level and
object-level change-related signals.
2014-10-24 12:18:46 -04:00
b73f725676
remove mouse zoom mode; bind z to zoom-to-range
2014-10-21 12:47:53 -04:00
8d8717800d
add tearoff reattach for the editor
2014-10-16 13:44:36 -04:00
6a971e645d
use new ARDOUR::Location signals in GUI
...
Conflicts:
gtk2_ardour/editor_markers.cc
2014-09-19 23:06:26 -04:00
e9ab53402c
add action and menu item to control use of skip playback
2014-09-17 12:28:36 -04:00
02af7cb418
alternate layout with a full-height editor-mixer, for mixbus
2014-07-28 11:27:02 -05:00
61c66afd4c
Revert previous select-strips-under-mouse behavior
...
However, keep the path for deletions in the editor-mixer via _entered_mixer_strip
TODO: if nothing was deleted, assume the user was trying to delete something in the editor instead
Show selected plugins by a red border
TODO: more work on the selection model for plugins and mixer strips
2014-07-24 11:28:31 -05:00
05f3adaba3
Allow deletion of processors in editor_mixer_strip by pointing and pressing Delete
...
This had to be hacked because the editor_mixer strip is on the editor and doesnt respond to mixer keybindings.
Also force the gain intry to lose focus if the user leaves the mixer strip. this will probably solve some long-standing complaints. although perhaps a more elegant solution is possible.
2014-07-23 16:58:43 -05:00
d46081c275
holding Primary(ctrl/cmd) allows user to make noncontiguous strip selections
2014-07-23 16:13:55 -05:00
b22e136887
Add some new zoom-to-selection actions, so zoom tool is less needed.
...
Reverse order of items in the zoom menus to match Ardour.
Consolidate the extra zoom math into a function; this fixes a problem in zoom-to-session.
2014-07-23 11:31:06 -05:00
b69870dfe6
add Editor::trackviews_height() convenience function to determine height of trackview area of canvas; use to help fix set_visible_track_count(); don't consider hidden tracks in that function; add "Selected" to that selector menu
2014-07-15 18:09:04 -04:00
d0bc4b55fa
scroll up/down by tracks uses top edge as "focal point"; fix some other nasty code details
2014-07-14 12:36:51 -04:00
492c933a69
fix the visible_tracks_selector to show * when user tweaks a track height. various experimental tweaks to visible_tracks_selector and a new zoom_preset_selector for Mixbus.
2014-07-14 10:08:55 -05:00
07e0f785f8
add "fade range" operation, bound to alt-f at present by default
2014-07-10 08:17:22 -04:00
8eeb02fe75
add Editor::edit_mode_strings to allow for i18n; correctly size ArdourDropdowns using longest, translated strings
2014-07-09 16:48:36 -04:00
c1166c9f63
fix thinko with split selections. also ignore follow_edits when we are splitting, because the playlist freeze and the newly added regions cause the playhead to jump to unexpected locations
2014-07-08 15:00:19 -05:00
fcabd5d8ee
initial implementation of "bring all media into session folder". Incomplete but basically functional for audio files
2014-07-08 00:53:13 -04:00
67eaa62ee9
fix build after copy-n-paste/code change collision
2014-07-07 10:21:47 -04:00
d97199088b
some code shuffling to make sure that cut mode always operates at the mouse location, with (maybe) the right regions
2014-07-07 10:13:26 -04:00
779fe6c082
add functionality for cut tool
2014-07-07 07:05:44 -04:00
7ec397c019
add basics of Cut mouse mode, no functionality yet. Icon images are still required
2014-07-07 07:05:43 -04:00
6d97d72999
remove some cruft with previous commits. remove option link-region-and-track-selection since they are now exclusive, and rename select-all-regions to select-all-objects to match the implementation
2014-07-06 14:02:13 -05:00
db60bc86b8
now that track and region selections are mutually exclusive, you need a separate action to select-all-tracks and select-all-regions. also, preserve region selection during a split, iff we are working on a region selection: only add the newly created regions, dont change anything else in the selection; leave that in control of the user
2014-07-06 12:57:36 -05:00
555a5d6348
lots of keybinding changes. added a new action to allow removing markers at the playhead location. numpad now allows you to access marks higher than 9. to locate to a marker, use the numpad decimal to start and end the operation - for example press .19. to locate to marker 19. also added alternate bindings for redo, delete, and several other alternates that will be needed in subsequent commits. tab is not working, using either Tab or nabla in the binding.in file
2014-07-03 17:50:14 -05:00
3dbf37eab7
simplify zooming, remove Editor::clamp_samples_per_pixel(), fix getting "stuck" at max and min zoom levels
2014-07-02 15:53:24 -04:00
4c79d35838
remove unused "zoom range clock" from code as part of zoom simplifications
2014-07-02 14:56:36 -04:00
e5e12acc56
Merge branch 'ripple-mode-cc' into cairocanvas
...
Fix up merge conflicts in
gtk2_ardour/editor_mouse.cc
gtk2_ardour/editor_ops.cc
Also fix up compile errors.
2014-07-01 19:10:47 +01:00
23e7cf1019
merge with master.
...
Manually resolved conflicts in import.cc and session.cc
2014-07-01 09:46:18 -04:00
77216ac468
add RAII DisplaySuspender
2014-06-28 23:22:15 +02:00
fd7cddb847
use a hash-table to cache gui properties
2014-06-28 22:02:20 +02:00
c706b1c4bb
replace old implementation of Editor::_ensure_time_axis_view_is_visible() with the guts of Editor::ensure_track_is_visible(), then remove the latter.
...
Also change all users of ensure_track_is_visible() to use _ensure_time_axis_view_is_visible()
2014-06-27 10:49:05 -04:00
be37432bef
removed no-longer-used Editor::track_canvas_motion()
2014-06-26 15:10:24 -04:00
298085eec2
use new ruler dialog class for context clicks on ruler labels area
2014-06-25 15:23:25 -04:00
4b515c178c
remove unused code
2014-06-25 13:37:59 -04:00
66be061449
lock dialog MUST be a Gtk::Dialog so that it does not forward key (or other) events to the Editor
2014-06-25 11:47:35 -04:00
d5ef8f5f1e
new timer-based GUI locking code
2014-06-25 08:28:36 -04:00
a12f43fa46
add a modal lock dialog for better testing (and someone might find it useful, too)
2014-06-24 10:14:07 -04:00
f147846863
add ability to save current action sensitivities and restore them, and to disable all action sensitivity.
...
This is needed to be able to lock the application fully on OS X, where the global menu bar would still allow interaction
even when a modal dialog is displayed.
2014-06-24 09:56:16 -04:00
6a5d805b38
more canvas refactoring.
...
Remove Canvas::Layout, use Canvas::Container for the same purpose, move child-rendering into Item::render_children() so that it
could theoretically be used by any derived type.
2014-06-22 11:41:05 -04:00
0796ccfb65
use newly factored canvas in gtk2_ardour
2014-06-21 11:44:22 -04:00
e7895e1f80
more work on cursor tracking state
2014-06-18 21:03:25 -04:00
becf857f48
a whole slew of changes related to centralizing and rationalizing cursor management.
...
Debugging output left in place to help address the reports that will come in as people test this more
2014-06-18 10:24:59 -04:00
f7844f4893
do most of the work related to adding new anchored trim cursors (but debugging/analysis continues)
2014-06-13 18:43:53 -04:00
7a0b2e1c18
fix scrolling behaviour in track headers (event was stolen by rulers because event coordinates made it look as if the event happened there)
2014-06-13 14:27:59 -04:00
6958409187
remove no-longer-used code
2014-06-12 16:18:38 -04:00
ea355bfe15
add canvas rulers event dispatch and reinstate scrolling behaviour
2014-06-12 15:58:05 -04:00
4b07d01532
remove header file includes of now-removed gtk custom ruler
2014-06-12 00:18:15 -04:00
b73352880e
use canvas rulers now instead of gtk widgets
...
Some bugs that exist in master are still present.
2014-06-11 23:54:28 -04:00
c56d309bd7
make the icon set selector actually do something
2014-06-10 14:39:28 -04:00
d36afa6b8b
forward scroll events from track control headers to the canvas, to get consistent scroll behaviour (whatever that behaviour is)
2014-06-09 10:02:38 -04:00
b530e8649e
rename Editor::_canvas_bottom_rect as Editor::_canvas_drop_zone; increase its size; remove debug message
2014-06-09 09:09:21 -04:00
92bb0e0d7f
fix problem with calls to Editor::trackview_by_y_position() when using motion events. The coordinate passed in was in canvas space and the method expected trackview space
...
To handle any further issues like this, I generalized and added an optional argument specifying that the canvas=>trackview transform is required, thus
centralizing where this done.
2014-06-08 14:41:29 -04:00
ad346dc638
reinstate a canvas group where we reparent regions while dragging, so that they are always on top.
...
I mistakenly removed this during the onecanvas changes.
2014-06-05 15:16:55 -04:00
e0533e9dd7
more profound changes to canvas scrolling, in particular find appropriate ScrollGroup for Canvas::{window,canvas}_to_{canvas,window}()
2014-06-03 16:13:12 -04:00
da7a860256
remove useless groups from timebar area, clarify scroll group naming in editor
2014-06-03 16:11:24 -04:00
5696199daf
remove timebar canvas and just use a single canvas instead. This is just part one - lots of minor fixes to be done
2014-06-03 16:10:27 -04:00
6019f06bdf
different approach to independent scrolling, involving ArdourCanvas::ScrollGroup
...
The idea now is that a scroll group item can be added to the canvas which will causes its children to scroll in either or both
directions (horizontal or vertical). There are few complications: the position() of the ScrollGroup is ambiguous depending
on whether you want it with scroll taken into account or not, so Item::canvas_position() was added, which defaults to
the same value as Item::position() but is overridden by ScrollGroup to return the position independent of scrolling. This
method is used when translating between item/canvas/window coordinate systems.
Note that the basic idea is that we MOVE the scroll group when a scroll happens. This mirrors what happens in the GnomeCanvas,
where Nick Mainsbridge came up with a great idea that allowed unification of the time bar and track canvases.
2014-06-03 16:10:27 -04:00
74bc0c8468
substantive changes to the logic and safety for naming of (audio/MIDI) sources, especially when created via import
2014-06-02 11:20:37 -04:00
4843c5d5cf
towards region-trims preserving fade duration
2014-05-31 03:53:59 +02:00
918a0ac5f9
update x-fade context-menu
2014-05-29 07:49:26 +02:00
356c1013ae
change return type of Editor::axis_view_from_route()
2014-05-19 14:00:36 -04:00
d75c7151d4
Ripple mode: basic implementation
...
Add a value for Ripple to EditMode enum.
Add Ripple edit mode to edit mode dropdown, by adding it to the
Editor::build_edit_mode_menu() helper function, and remove the old code that
added items to the (now unused) Editor::edit_mode_strings.
Add the regions that should be affected by the drag to RegionDrag::_views so
that the drag carries them along automatically.
Use a copy of the RegionList in Playlist::core_ripple(), since bad things
happen when iterating over regions and they get moved around in the list.
Handle rippling in removal of regions from playlist.
When dragging in ripple mode, exclude all regions that lie before the
original start position of the selected regions being dragged from
rippling: this is what Mixbus does.
Make editor dragging respect snap-to settings, by using the existing
compute_x_delta() function, which did almost the right thing. Move setting
of _last_frame_position out of that function so all ripple-dragged regions
can move.
Ripple when dragging from region list: even though Mixbus doesn't do this, it
seems like a good idea.
Prevent multi-track selection being dragged across tracks, by making
RegionMotionDrag::y_movement_allowed() virtual, and overriding it in
RegionRippleDrag to forbid dragging of selections containing regions on more
than one track to dofferent tracks in ripple mode.
Remember which TimeAxisView a ripple-mode drag that's allowed cross-track
drags started from, so that the effect of rippling regions after any region
that's dragged off that track can be undone.
2014-05-07 19:46:24 +01:00
38125d60c9
"sequence regions" operation (remove space between selected regions) added, c/o Thomas Brand
2014-04-29 00:11:05 -04:00
5668eea2a3
add a transparent rect that is always located at the bottom of the track canvas
...
This gives us an event/drag-n-drop/click target for things "at the bottom"
2014-04-16 04:16:56 -04:00
dbb8501429
make our intentions even clearer when call Editor::track_canvas_viewport_size_allocated()
2014-04-16 02:55:08 -04:00
6bcee4e9c8
rename ArdourMenu to ArdourDropdown
2014-03-26 11:40:25 -05:00
4e5d977fb1
add back track shrink/expand buttons
2014-03-25 10:43:04 -04:00
200a67fba8
most of the support for save/restore of visible track count
2014-03-25 10:33:18 -04:00
da36a8ee09
first part of switch from shrink/expand tracks to pyramix-style "pick number of visible tracks". function to follow shortly, this is the control widget part
2014-03-25 08:21:08 -04:00
95f81e2d24
add optional arg to Editor::ensure_time_axis_view_is_visible() to "force" "make it visible as the top track" behaviour
2014-03-24 19:46:45 -04:00
harrison
b9708d5f6b
New theme for editor window using ArdourMenu
2014-03-23 18:11:42 -05:00
4f7d94ea67
latest tweaks to autoscroll: symmetrical boundary on both sides, stop runaway scrolling, and more
2014-03-21 09:49:35 -04:00
65b4308c84
first pass at quantizing vertical scroll to whole tracks.
...
Dragging regions vertically does the quantization BUT speed control is lacking and the region ends up on
a track that is still invisible ... to be fixed as the sun rises.
2014-03-21 07:02:32 -04:00
9df3157dfc
big rework of scrolling, horizontal part considered almost 100% done.
...
Many more changes than I would typically like in a single commit, but this was all very intertwined.
Vertical scrolling using track-stepping still to follow.
2014-03-20 13:29:45 -04:00
5cbb60d339
fix display of time selection rect(s) when switching mouse modes
2014-02-26 10:50:51 -05:00
c04285addf
convert canvas_event_frame() and window_event_frame() to canvas_event_sample() and window_event_sample() to go along with the convention adopted in cairocanvas code re: frames+samples
2014-02-26 08:43:53 -05:00
d00dc6a706
various work to make loop/punch display work better (including fixes for bugs present in master also)
2014-01-27 21:27:13 -05:00
d23c2499bf
rationalize, consolidate and make work dbl-click editing for regions and markers, as part of the Drag model rather than discretely
2014-01-27 10:09:58 -05:00
b2895eaa50
fix visibility of punch and loop rects.
...
They used to be in the time_line_group but this is regularly cleared of all its members (which were assumed to be time lines).
2014-01-26 14:04:23 -05:00
84f55440a3
fix redrawing of canvas with an optimized build
...
Best guess right now is that optimization does something bad when ceil() is called twice on a very large dbl-precision number,
which results in a zero (empty) redraw area. Without the removal of the redundant ceil & floor functions, no expose events
would be delivered to the canvas in an optimized build during drags (and maybe more).
2013-12-23 15:35:49 -05:00
dc7878760d
vtl: do not lock audio [to video] when extracting audio-only.
2013-12-23 10:28:32 +01:00
ea1ccb869a
fix merge with master
2013-10-31 13:16:51 -04:00
abb05680b4
Make double-click on marker pop up rename dialogue.
2013-10-25 17:03:45 +01:00
89193dc40b
Add a double-click handler for items in the editor window.
2013-10-25 17:03:45 +01:00
e5888d3983
merge with master and fix 2 conflicts
2013-10-16 22:06:56 -04:00
c2b2953f8c
export video-range: add to context menu
2013-10-12 22:56:08 +02:00
1da655c2eb
Fix special handling of 'zoom vertical' scroll wheel modifier key.
...
gtkmm2ext/keyboard.cc has a special case to emit a signal on the key-up of
the modifier key used to adjust track heights in conjunction with the
scroll wheel, so that the same track continues to be resized even when
it's shrunk to no longer be under the mouse cursor. However, this code
assumed that the modifier key for this was <Shift>.
Fix it to use the event->state bit corresponding to
ScrollZoomVerticalModifier instead, and rename the relevant functions to
clarify that it's the 'zoom vertical' modifier key they're dealing with.
Partially fixes #5610 .
2013-08-08 15:24:15 -04:00
c222acecaa
fix #5609 (import with 1 track per channel mis-associates tracks + channels)
...
when using ImportDistinctChannels, correctly name regions so that playlists for each channel/track
are also named differently, and thus reloaded properly when the session is reloaded.
2013-08-08 15:24:15 -04:00
8e376f7a2a
Fix special handling of 'zoom vertical' scroll wheel modifier key.
...
gtkmm2ext/keyboard.cc has a special case to emit a signal on the key-up of
the modifier key used to adjust track heights in conjunction with the
scroll wheel, so that the same track continues to be resized even when
it's shrunk to no longer be under the mouse cursor. However, this code
assumed that the modifier key for this was <Shift>.
Fix it to use the event->state bit corresponding to
ScrollZoomVerticalModifier instead, and rename the relevant functions to
clarify that it's the 'zoom vertical' modifier key they're dealing with.
Partially fixes #5610 .
2013-07-23 16:42:34 +01:00
d5209cb4bf
fix #5609 (import with 1 track per channel mis-associates tracks + channels)
...
when using ImportDistinctChannels, correctly name regions so that playlists for each channel/track
are also named differently, and thus reloaded properly when the session is reloaded.
2013-07-23 11:29:10 -04:00
aaaeb958c1
switch samples_per_pixel to integer type
2013-06-18 23:02:54 -04:00
11619a37bf
Merge branch 'master' into cairocanvas
...
Conflicts:
gtk2_ardour/editor_canvas.cc
gtk2_ardour/imageframe_time_axis.cc
gtk2_ardour/imageframe_time_axis.h
gtk2_ardour/imageframe_time_axis_group.cc
gtk2_ardour/imageframe_time_axis_group.h
gtk2_ardour/imageframe_time_axis_view.cc
gtk2_ardour/imageframe_time_axis_view.h
gtk2_ardour/imageframe_view.cc
gtk2_ardour/imageframe_view.h
gtk2_ardour/marker_time_axis.cc
gtk2_ardour/marker_time_axis.h
gtk2_ardour/marker_time_axis_view.cc
gtk2_ardour/marker_time_axis_view.h
gtk2_ardour/marker_view.cc
gtk2_ardour/marker_view.h
gtk2_ardour/video_image_frame.cc
gtk2_ardour/visual_time_axis.cc
gtk2_ardour/visual_time_axis.h
libs/canvas/canvas/circle.h
2013-06-14 21:09:24 +02:00
084af4727d
remove cruft - old CMT imageframe*
2013-06-14 17:18:59 +02:00
f00b3b7f11
merge with master
2013-06-13 23:00:24 -04:00
6b480bb2f7
vtl: make "Remove Video" insensitive if N/A
2013-06-13 00:58:19 +02:00
bebe2af95a
merge with master
2013-05-08 14:48:28 -04:00
a902737db9
various changes to window visibility mgmt, including use of the mixbus2 code for toggling editor + mixer windows. no longer attempt to track changes made outside of ardour, which is a lost cause
2013-05-07 13:01:26 -04:00
e1b0f1bd0b
merge with master
2013-05-04 22:41:10 -04:00
40944574c6
the big rework of window management. probably not complete at thsi point, but this is mostly functional
2013-05-04 22:02:05 -04: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
d14f43ccf2
fix operation of right-click on selected MIDI note to bring up the note editor. this is still not really right long term, but it is better than displaying the channel selector
2013-05-02 15:16:56 -04:00
81485faa83
remove CMT code - has not been used for years, and will become irrelevant with VTL and cairocanvas
2013-05-02 12:21:41 -04:00
54bf06e63c
Merge branch 'master' into cairocanvas
2013-04-26 14:20:11 -04:00
db34831b18
redesign toggling of editor/mixer stacking to use Gtkmm2ext::VisibilityTracker
2013-04-26 14:12:52 -04:00
f88cfdb478
remove Editor::redraw_measures to improve efficiency of tempo measure line redraws
2013-04-20 16:11:40 -04:00
5cac4a6885
vtl: get rid of unused "bar" inside the ruler
2013-04-17 02:27:17 +02:00
1227f2b73e
vtl: get rid of one more unnecessary canvas-group
2013-04-17 02:27:06 +02:00
84fb0a8dce
remove all XML related API from canvas. it may have been useful during development, but it is just a distraction - we will NEVER be saving or restoring canvas state via XML or any kind of serialized state
2013-04-15 21:57:08 -04:00
64c861a791
fix markers so that the blue line spans both canvases
2013-04-15 16:10:13 -04:00
7e19053b88
Fix dragging objects on the canvas and remove redundant canvas groups
...
Delivery of fake motion events to the editor needed the event coordinates to be
in canvas space, as they are with "real" events. Editor and other objects had
many redundant groups from timbyr's work on gnomecanvas to scroll by moving
groups. We don't need this anymore with cairo-canvas (though possibly a
stationay background group for the canvas might be useful again one day as in
the SAE logo. Its implementation would be fairly different though, since we
would have to explicitly move the group on every scroll, since nothing else
ever moves on scroll).
Also tweaks to text item placement, and switch TimeAxisViewItem from
name_pixbuf to name_text, since ArdourCanvas::Text is already "pixbuf optimized".
2013-04-15 13:50:05 -04:00
af4539f857
a few changes to fix region dragging, all related to coordinate system handling, which is now much simpler with the new canvas; more debugging output when asked for
2013-04-15 10:38:12 -04:00
cfe4bfb732
remove another pointless adjustment
2013-04-13 07:50:31 -04:00
05caa9caa1
removal of sundry Adjustments and consolidation of scrolling around two editor-owned Adjustments
2013-04-13 07:29:49 -04:00
4e9108cd1e
remove TimeAxisView::clip_to_viewport() and Editor::update_canvas_now() and Editor::flush_canvas() which should no longer be necessary with a sane canvas design
2013-04-12 18:01:44 -04:00
b05968fb4e
change frames_per_pixel to samples_per_pixel
2013-04-12 11:31:50 -04:00
8877199ae0
leftmost_position => leftmost_sample, current_page_frames => current_page_samples
2013-04-12 11:21:12 -04:00
4258a34912
change all frame_to_pixel and pixel_to_frame to sample_to_pixel and pixel_to_sample
2013-04-12 11:15:45 -04:00
ecfd2a7455
remove all unit-based methods from (Public)Editor; rationalize Editor::event_frame() to clearly identify whether the passed-in GdkEvent has window units or canvas units (the latter will be true for all events that are handled by the canvas and then passed to Editor
2013-04-12 11:09:49 -04:00
f208593249
Merge branch 'cairocanvas' of git.ardour.org:ardour/ardour into cairocanvas
2013-04-11 22:54:22 -04:00
ee1f0520a8
many changes to get the cairo-canvas version much, much more functional. still problems with a lot of subtle and not-so-subtle issues
2013-04-11 20:19:22 -04:00
6ae4f10437
Merge branch 'master' into cairocanvas
...
Conflicts:
gtk2_ardour/editor.h
gtk2_ardour/editor_canvas.cc
gtk2_ardour/wscript
2013-04-11 22:24:05 +02:00
66ee2c8e59
enable videotimeline by default
2013-04-11 19:49:48 +02:00
8eef4b1904
master merge; new files not added after initial cairocanvas patch application
2013-04-05 17:16:33 -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
1040801ffe
vtl: video-monitor letterbox & orig-zoom to menu
2013-04-04 01:05:49 +02:00
9301991f6e
vtl: video-monitor interaction
...
* Menu > View > Video Monitor -- bi-directional communication
with xjadeo for window-state and OSD.
* fix saving state on session close (wait for xjadeo to terminate)
2013-04-03 22:29:37 +02:00
f4a9c02b1d
Use selection->regions instead of Editor::get_regions_from_selection()
...
Remove Editor::get_regions_from_selection(), and use selection->regions
directly in the few places it was called.
2013-04-03 17:04:04 +01:00
950643462a
vtl: prepare audio offset on A/V import
2013-03-28 16:58:30 +01:00
268553ecd4
honor CTRL modifier when drag/drop importing files (copy vs embed)
2013-03-21 21:33:02 +01:00
0c3e840700
videotimline
...
squashed 694 commits from http://gareus.org/gitweb/?p=ardour3.git
2013-03-13 20:28:15 +01:00
3a7eeb17bc
add/clarify "set range (location) from (range|region) selection" operation (on marker context menu
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13825 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-09 21:47:10 +00:00
72393f101b
allow region list selection of whole file regions to select every instance of a region that has any source relationship with that whole file region (from a logic feature that came up while writing the manual)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13779 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-04 22:46:51 +00:00
be4337689e
make import dialog non-modal
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13717 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-23 18:25:26 +00:00
1224fc0700
add cycle-zoom-focus and bind to "1" by default
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13658 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-13 16:20:37 +00:00
Ben Loftis
92e5a13fd4
several theme changes. changed drawing of rounded_rectangle to be more correct. operation and feel should be more consistent. rec-mute-solo buttons are now dull until enabled. this might be debatable. otherwise if it looks weird, try loading Window->Theme Manager and clicking Restore Defaults
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13611 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-06 20:48:44 +00:00
b286b45ea8
adjust the way we use a pair of iterators into the tempo map so that the iterators are always local to the scope where they are used, which fixes at least one tempo-map related crash; also fix correct setting of join-object-range parameter, where the property wasn't actually used
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13559 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-27 22:48:59 +00:00
Ben Loftis
e63da83c53
tweak Smart Mode to be more like Mixbus. Smart mode is just a modifier on Object mode which provides Range selection in the top half of the waveform. probably lots of corner cases to clear up before its all over, but at least we can use Mixbus as a consistent target rather than making it all up again.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13551 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-26 22:43:10 +00:00
Ben Loftis
beb3ec2d7a
Always Play Range is now Follow Edits, and is based on Mixbus implementation. Added menu item. Follow Edits button replaces Auto Play; removed the connector between play and play-range. Some Smart Mode changes came along for the ride but will be cleaned up shortly
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13537 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-20 19:43:43 +00:00
Ben Loftis
6b6ef35f3e
new button look
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13511 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-16 19:27:39 +00:00
3fa84d0caa
add alt-i as a binding in both the editor and mixer windows to toggle the state of MIDI input on the selected track(s); in the mixer this will also operate on the strip under the mouse. fixes #4838
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13475 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-13 02:19:04 +00:00
Carl Hetherington
25e5bfd17e
Rename Editor::duplicate_dialog to Editor::duplicate_range
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12988 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-04 21:31:06 +00:00
11415b49be
first pass at the big rethink of managing sort order keys for editor and mixer. this appears to work, but remote control IDs are not yet correct (frequently off by one because of the presence of the master bus in the editor)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12953 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-27 22:57:06 +00:00
Carl Hetherington
c52bdcf69d
Remove unused named selection / chunk code.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12939 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-26 02:11:06 +00:00
Carl Hetherington
098f0157df
Allow new idle visual changer calls to be requested while
...
the current changer is executing; fixes #4567 .
git-svn-id: svn://localhost/ardour2/branches/3.0@12934 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-26 00:07:45 +00:00
Carl Hetherington
3c7f6a4a4c
Unify clamping of frames-per-unit values during zoom; should help with #3514 .
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12796 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-20 14:14:27 +00:00
Carl Hetherington
0fba3e073c
Remove indirected method calls.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12795 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-20 14:14:22 +00:00
Carl Hetherington
d54fb5f54e
Add option to add new range marker from the context menu without needing the keyboard ( #4378 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12781 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-19 13:54:28 +00:00
Carl Hetherington
95377c141c
Hacky fix for track height step losing 'grip' on the
...
track being resized (#4503 ).
git-svn-id: svn://localhost/ardour2/branches/3.0@12747 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-17 16:57:21 +00:00
Rodrigo Severo
f9ed2ced4a
Much simplier implementation of: "Show Toolbar" act immediately, i.e., even when already maximized, changing this toggle changes whenever toolbar is shown or not.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12695 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-13 04:21:46 +00:00
b0fdefb7af
maximise-editor patch from Rodrigo:
...
* makes "View >> Toolbar When Maximized" act immediately, i.e., even when already maximized changing this toggle changes whenever toolbar is shown or not;
* renames "Toolbar When Maximized" to "Show Toolbar" as it acts whenever editor has maximized space or not.
git-svn-id: svn://localhost/ardour2/branches/3.0@12668 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-12 04:20:13 +00:00
Carl Hetherington
a766fe1fd9
Somewhat primitive implementation of allowing the edit note dialog to handle multiple notes ( #4096 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12623 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-09 01:51:34 +00:00
Carl Hetherington
e5024657fc
Paste to the track under the mouse if we are using the mouse
...
as the edit point, otherwise use selected tracks (#4595 ).
git-svn-id: svn://localhost/ardour2/branches/3.0@12547 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-02 18:06:46 +00:00
Carl Hetherington
650f16620d
Don't round conversions from frame to unit when setting up control points, as it will cause big inaccuracies when zoomed out.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12503 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-31 17:07:02 +00:00
Carl Hetherington
fc77252d51
Slightly unpleasant hack to stop control points being
...
unselected when you ctrl-drag a selected point in order to
do a push drag.
git-svn-id: svn://localhost/ardour2/branches/3.0@12502 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-31 14:39:48 +00:00
f1505b631d
substantive change to try to provide some rationality for region gain line visibility (and automation line visibility in general
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12478 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-29 18:30:10 +00:00
a98fa4bc61
switch to 5 new fade curves, taken from mixbus2 branch. make xfade context menus functional even though the images are not accurate
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12253 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-11 21:30:36 +00:00
c6d983bda5
incorrect but visible context menu for xfades
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12243 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-10 19:14:11 +00:00
7bc425fd0d
framework for handling events on the xfade rects
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12213 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-08 17:13:59 +00:00
ec97b8e58d
MCP: lots of good stuff - recenable bug fixed, cursor keys for vertical scroll work, loop button lights/unlightspan pots don't adjust if there is no panner, etc.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12093 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-26 03:46:18 +00:00
Carl Hetherington
b5a9d37cb0
Fix toggle selection for control points.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12057 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-22 23:14:27 +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
8f7fa7d93b
MCP: timeout display of value when altering with fader or pot; range ops on strip buttons should work; select logic may be broken
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11959 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-13 16:11:55 +00:00
bef3ea1adc
MCP: F1-7 jump to a given view; F8 closes any currently open dialog; in zoom mode, up/down alter vertical track height of all tracks; option-up/down alters selected track heights
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11858 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-09 18:53:51 +00:00
57a046804c
MCP: different meter debug trace; initial support for track selection
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11852 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-09 16:15:55 +00:00
Carl Hetherington
64425f77e7
Remove unused op parameter to temporal_zoom_by_frame. Add Zoom to Range option to range marker context menu ( #4778 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11750 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-22 16:41:44 +00:00
0d4825d62e
forward port save/goto visual state changes from 2.X (now uses ctrl-Fn to save, Fn to goto)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11703 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-16 15:04:28 +00:00
Carl Hetherington
d7829cf96a
Remove a little unused code.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11678 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-14 11:17:14 +00:00
c52c2b7368
forward-port some fixes from a2
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11630 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-09 17:15:25 +00:00
5d82179323
fix up a substantial mess with the operation of toggle-zoom and related actions, partially caused by XMLNode semantics fixed in a previous commit, but partially caused by issues fixed here
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11614 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-07 02:11:59 +00:00
b02e95f201
make region gain line visibility global, not per-region
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11492 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-02-15 14:03:19 +00:00
671ec99bac
(1) remove magic number voodoo when saving zoom focus/snap settings to instant.xml etc. (this has a minor breaking-behaviour for existing sessions etc (2) keep track of grid type/settings in and out of note edit mode and switch back and forth, thus allowing independent grids while working at the note or region level
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11486 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-02-13 14:34:21 +00:00