13
0
Commit Graph

11660 Commits

Author SHA1 Message Date
f62c8c664d Fix crash when renaming track to an invalid name
If the "Sorry I cannot do that" dialog is displayed from
FloatingTextEntry::use_text(), the entry is still visible and accepts
[focus] events. Also the dialog returns focus and multiple
idle_delete_self() will be called for an Entry that's already being
deleted.
2017-07-20 23:41:39 +02:00
Johannes Mueller
2f66899222 Equivalent fix for #7429 for the mixer
The previous commit addressed only the behavior of clicking a route in the
editor window. Now we handle the same issue in the mixer window.
2017-07-20 15:05:07 -04:00
Johannes Mueller
741c7229c7 Select the clicked route in the current mixer strip (fixes #7429)
Issue #7429 reports that that clicking a route of an already selected group
does not update the editor mixer strip selection. To fix this we call
Editor::set_selected_mixer_strip() at the end of
RouteTimeAxisView::selection_click();

The overhead of maybe calling it twice should be toleratable, as
::set_selected_mixer_strip() checks, if the route is already the current mixer
strip route before setting it.
2017-07-20 15:05:07 -04:00
611a150dfb Editor Summary: Don't require user to re-click to scroll + zoom.
* Use conventions similar to those used in CursorDrag.
2017-07-20 14:15:40 -05:00
Johannes Mueller
0a462d1964 Rename the route in a route template when renaming the template 2017-07-20 20:10:23 +02:00
Johannes Mueller
b03ee727e9 Don't try to rename the route template state dir if it doesn't exist 2017-07-20 20:08:09 +02:00
40e2f9a68a CursorZoomDrag rework:
* If the use-time-rulers-to-zoom option is enabled, -all- cursor drags can zoom.
* Behavior has been tweaked so it is easy to scroll without zooming, if you want to.
2017-07-20 09:51:26 -05:00
3b47a42127 Editor Summary: thinko in initial value 2017-07-19 15:44:14 -05:00
6666ea593d Editor Summary: likely fix for crash-on-quit 2017-07-19 15:41:19 -05:00
394b30fe42 Editor Summary: Tweaks
* Only draw track bg lines if they will actually be recognizable.
* limit zoom-in capability of the summary box until it works correctly.
2017-07-19 15:37:59 -05:00
53fba8326c Rationalize Editor Zooming: make it harder for user to step into ridiculous zoom-out scales. 2017-07-19 15:37:59 -05:00
1438086c6c tweak "visible track count", take automation lanes into account. 2017-07-19 22:15:22 +02:00
92a1d3619b Const'ness where const'ness is due 2017-07-19 22:15:22 +02:00
9a70e72f3d Expose editor-vertical zoom lua bindings 2017-07-19 22:15:22 +02:00
1decc225c9 Editor Summary: fix yet another thinko in zoom direction. 2017-07-19 14:13:18 -05:00
29002b9ac9 Editor Summary: The view rectangle should never exceed the bounds of the scroll area. 2017-07-19 13:58:56 -05:00
0cb44f9d56 Editor Summary: fix thinko in mouse cursors (trim cursor). 2017-07-19 08:20:25 -05:00
255d633edd Editor Summary: implement summary_zoom_step() to lessen redundant code. 2017-07-19 08:12:25 -05:00
1955ff3ad2 Editor Summary: fix direction of scroll zoom to match other conventions 2017-07-19 06:58:16 -05:00
5f485f964e Fix OSX builds in the wake of the source-tree layout changes 2017-07-18 18:29:22 +02:00
ea05241771 Editor Summary: Changes to behavior
* Remove up/down buttons.
* Allow the summary to shrink smaller.
* Vertical drag results in zoom.
* Scroll-wheel results in zoom.
* Tweak mouse cursor to better indicate behaviors.
* ToDo:  refactor the zooming code.
2017-07-18 10:37:35 -05:00
beb73edf55 Purify libcanvas, remove libardour dependency
A canvas is just a canvas. Move WaveView into its own library.
2017-07-17 21:06:04 +02:00
601c317d70 Clean up library inheritance (colors.h, utils.h)
make libwidget independent of libcanvas.
Confine basics to pbd and gtkmm2ext.
2017-07-17 21:06:04 +02:00
1f5ebc5485 Remove ArdourPrompter wrapper 2017-07-17 21:06:04 +02:00
eb1e423b75 Remove <gtkmm.h> include from header files. 2017-07-17 21:06:04 +02:00
f9e5e4360e Move more Gtkmm2ext widgets into libwidget 2017-07-17 21:06:04 +02:00
b5e9451bc7 Remove unused sources & includes 2017-07-17 21:06:04 +02:00
f6e182b937 Move Gtkmm2ext widgets into libwidget 2017-07-17 21:06:04 +02:00
b6e4dfe37b remove cruft (no more ButtonJoiner) 2017-07-17 21:06:04 +02:00
5c92613698 Separate Ardour UI widgets into dedicated library 2017-07-17 21:06:04 +02:00
d397e1f85c fix behaviour of AddRouteDialog "Add" button 2017-07-17 11:57:33 -04:00
4f4ed8e194 if user has edited name entry in add route dialog, type changes should not reset it.
But using a response button should
2017-07-17 11:57:33 -04:00
5aecfc5acb Remove Timers to watch Controllable values
Depend on Changed() signals alone, which are usually much less frequent
than rapid-timer events.

As side-effect we now need to make the widgets insensitive when
playing automation. Previously the user could not change the value because
the Timer periodically reset it.
2017-07-16 16:58:00 +02:00
6c5262012b required #include for earlier gcc 2017-07-15 13:43:39 -04:00
Johannes Mueller
66964aaab2 Force filename suffix and ask confirmation before overwriting ...
... existing files, when exporting template archives.
2017-07-15 11:37:27 +02:00
Johannes Mueller
ccff1c5dbd Only make the export button sensitive if there's something to export 2017-07-15 11:37:24 +02:00
Johannes Mueller
0da2d7bf8a Inflate template archives rather in .config/ardour5/ than in ...
`.config/ardour5/(templates|route_templates)`.

We put as toplevel directory of the archive `templates` or
`route_templates`. Then no matter if the user imports a session template or a
route template archives, we always put them into the correct folder.

As now the user can also import route templates while the
SessionTemplateManager is visible and vice versa, we need to signal the
successful import to the corresponding template manager. Therfor we introduce
the signal TemplatesImported.
2017-07-15 11:37:15 +02:00
46501da220 Add johmue to authors list 2017-07-14 20:01:45 +02:00
7e4f261853 Turn Summary into a horizontal scrollbar (drop y-axis sensitivity) 2017-07-14 20:01:45 +02:00
Johannes Mueller
96a9437289 Switch to g_dir_make_tmp() to make the tmpdir. 2017-07-12 16:15:03 +02:00
Johannes Mueller
a73a5e9215 First draft of import and export templates
Don't use this now, except for testing as the archive format will change.

TBD:

* error handling
* check template would be overwritten by import
* dinstinguish between session and track templates
2017-07-12 16:15:03 +02:00
Johannes Mueller
a933cd58bc Some more error handling
Try to undo the renaming of the template dir in case the writing of the new
template file fails.
2017-07-12 16:15:03 +02:00
Johannes Mueller
13ddbfc0d7 Remove template dirs using PBD::remove_directory()
This makes sure that all state directories of the template are erased properly.
2017-07-12 16:15:03 +02:00
Johannes Mueller
b3407f1665 Adjust template names inside template files
This concernes:

* LV2 states:
LV2 states are stored in the template directories and their paths are stored
int the template files using absolute paths. Therefore we have to adjust the
template-dir property of every lv2 node referring to a state dir.

* Names of route templates.
The name of the route template is stored in the first child of the xml root
node in the property `name`. This needs to be adjusted when renaming the
template.

By now we rely on that only lv2 states and the route template name need to be
adjusted on renaming a template.
2017-07-12 16:15:03 +02:00
Johannes Mueller
a5ba520f75 Also handle Route templates
Following measures:

* Split up into two classes
  * TemplateDialog: the general dialog
  * TemplateManager: A widget to rename and remove templates

* Make TemplateManager abstract and derive a class for session templates and
  one for route templates. This is needed, as session templates and route
  templates are stored in a different way. Thus we need different methods to
  rename and remove them.
2017-07-12 16:15:03 +02:00
Johannes Mueller
6a973d5c42 Some cosmetics 2017-07-12 16:15:03 +02:00
Johannes Mueller
610d9fd3b9 First draft of a template management dialog
Goal is to a simple dialog that can rename and remove templates. This is
helpful in order to keep the template list tidy.

So far it works for session templates. Track templates tbd.
2017-07-12 16:15:03 +02:00
23bb15dcf1 Honor groups for mixer selection 2017-07-12 06:55:44 +02:00
fd8053da9e Don't use VST ->user points, prefer host-reserved ptr
Apparently "user" is for plugins (not hosts) to use.
2017-07-08 18:13:42 +02:00
9a0ab26fbf Add select-all-tracks mixer-shortcut (following editor) 2017-07-08 16:07:42 +02:00