13
0
Commit Graph

11898 Commits

Author SHA1 Message Date
47d86cf54d Change the template pulldown menu into a tree list. Populate the Description view when a template is selected. 2017-08-14 16:14:42 -05:00
0a0eec2adc Session Metadata: add a Description field.
* This is a multi-line text field.
* If the session is a template, we might show this in the New Session dialog.
2017-08-14 14:08:17 -05:00
a1143a0ed6 expose automation state controls in AutomationTimeAxisView when used for MIDI CC 2017-08-12 14:40:21 -04:00
b98969be94 do not set automation to off/manual for MIDI CC data when clearing such data 2017-08-12 14:40:21 -04:00
3ff352be79 Maybe fix crash on Close Session -> Quit (windows threading) 2017-08-11 19:45:49 +02:00
7d48e80e5f Fix MSVC builds (binding external static members)
This Revert "Lua GUI Instance update: prepare for template scripts"
commit c37cdf548d.
2017-08-11 18:01:28 +02:00
f27e53f485 Add support for scripted meta-templates. 2017-08-11 15:24:05 +02:00
a38cdb0ae3 Add template dropdown sensitivity
...for those who select a template but forget activate the checkbox and
wonder why it doesn't work :)
2017-08-11 15:24:05 +02:00
d4a089937b Populate the buffer size combo when connecting to jack that is already running.
This would crash (throw) if ardour was started with an invalid backend
(alsa with no devices avaliable) and then changec to an alredy running
jack. The invalid backend at the start would leave the buffer
size combo empty and switching to the running jack backend did not populate
buffer size list.
2017-08-10 09:49:22 -05:00
418570b041 Update Lua os.exec, SystemExec API
We can't use Lua to construct a PBD::SystemExec Obejct. Lifetime of the
object is bound to the Lua interpreter or local function scope.
Destroying the C++ object terminates the process.

Additionally to adding a dedicated method, we also override the existing
os.execute Lua libary method with a rt-save (vfork, close filedescriptors)
wrapper.
2017-08-10 02:26:11 +02:00
80e0094ef4 Add support for templates to invoke one-time scripts 2017-08-10 02:26:08 +02:00
c37cdf548d Lua GUI Instance update: prepare for template scripts 2017-08-10 02:26:05 +02:00
e4cb6e1894 Lua Message dialog, push splash screen if needed. 2017-08-10 02:26:01 +02:00
8eb3b9d34b Add a Lua SetSession signal/hook 2017-08-10 02:25:58 +02:00
d0553753af Lua Script Sandbox - GUI part 2017-08-10 02:25:54 +02:00
cba622cdce Add Lua bindings to set toggle-actions 2017-08-09 16:29:24 +02:00
0c4e0503b4 SystemExec Lua bindings (vfork, fire+forget) 2017-08-08 23:27:47 +02:00
7c6800fb88 Hide TrackList "Active" toggle for VCAs 2017-08-08 01:49:05 +02:00
45eef0be1b slight tweak for more code consistency between ::toggle_solo() and ::toggle_mute() 2017-08-07 12:14:17 -04:00
cbe342c357 some structure/code for managing menu sensitivity now that VCAs are selectable 2017-08-07 12:04:11 -04:00
d7aa102ce5 Name New VCAs from Selection 2017-08-07 16:46:35 +02:00
c7237a606a Improve Track > Toggle Solo/Mute, include VCAs 2017-08-07 16:29:08 +02:00
ffcb0af8bc Fix Windows builds (amend 7009ff03) 2017-08-07 13:58:56 +02:00
8642e916db More RouteTAV -> StripableTAV updates (Editor List) 2017-08-06 23:49:12 +02:00
031e02d9e7 Use StripableTAV to inform Ctrl surfaces about selection. 2017-08-06 23:22:27 +02:00
f1ae16fe8f VCA TimeAxis Context Menu
NB. This calls for a vca_ui (alike route_ui) to consolidate common
methods like choose_color, assign/drop slaves etc)
2017-08-06 22:48:38 +02:00
7009ff0300 Update Selection API to include all Stripables 2017-08-06 22:17:58 +02:00
1cbbbf6aad Update Remove Track(s) dialog to include VCAs 2017-08-06 22:17:54 +02:00
0ae9cda51d Allow to select VCAs 2017-08-06 22:17:42 +02:00
eb2af9e28d Remove some debug output (gtk2_ardour) 2017-08-06 14:50:45 +02:00
0a67b1661c Yet another blind copy/paste issue fix. 2017-08-06 00:01:23 +02:00
27d2f4950f Fix Clock Font on OSX (fixes Big Clock Window Size)
Meanwhile libpango was fixed and we use
CTFontManagerRegisterFontsForURL() on OSX >=10.6
2017-08-05 22:32:13 +02:00
9d99e558b3 Fix Track/Bus dialog name-entry default
Changing the track-type to add changes the name which marked the
name-entry as "edited by user", even though it was Ardour itself
which changed the name.
2017-08-05 19:11:57 +02:00
cc4df34697 SNAFU. Allow changing engine buffer-size while running 2017-08-04 03:39:41 +02:00
Kristoffer Grundström
1d0221349a Update sv.po 2017-08-03 21:36:16 -04:00
Kristoffer Grundström
d8ea9da7ed Updated Swedish language
Signed-off-by: Kristoffer Grundström <hamnisdude@gmail.com>
2017-08-03 21:36:16 -04:00
1b5354632f Fix Session > New (cancel retains the current session if any) 2017-08-03 19:25:14 +02:00
cooltehno
bbb5c54c2e Update clear_gray-ardour.colors 2017-08-02 14:42:45 -04:00
cooltehno
631a06e653 Update caineville-ardour.colors 2017-08-02 14:42:27 -04:00
df76e4417d Fix ATAV GUI property cleanup
AutomationTimeAxisView::state_id() requires a stripable
(stripable == automatable + parameter OR  stripable + control)
2017-08-01 16:56:20 +02:00
Petr Semiletov
6159bea376 More Russian translation updates 2017-07-31 23:52:02 +02:00
47e4ffc06d Fix erroneous changes in the previous updates, translate more into Russian 2017-07-31 23:24:29 +02:00
Johannes Mueller
2716ce41e0 Indicate whether to show plugin's inline display in GUI
This is currently done by an extension data similarly to
LV2_INLINEDISPLAY__interface.
2017-07-31 21:31:23 +02:00
Johannes Mueller
4a60c277db Some abstractions to make the display look good in the plugin gui 2017-07-31 21:31:22 +02:00
Johannes Mueller
a61ae46c82 Display the inline display in the generic plugin gui 2017-07-31 21:31:22 +02:00
Johannes Mueller
37b03e353a Put plugin inline display into a freely available class ...
... and let ProcessorBox::PluginInlineDisplay inherit from it.
2017-07-31 21:31:22 +02:00
Petr Semiletov
31a9f24ef4 More Russian translation updated and fixes 2017-07-30 16:57:58 +02:00
85925747b2 Update Russian translation 2017-07-30 16:51:54 +02:00
83e45911e3 VCA master-strip: drop gain-control reference 2017-07-30 04:51:25 +02:00
243d55f3c2 Remove an unused variable 2017-07-30 02:42:55 +02:00
Petr Semiletov
fe5f00c367 Russian po updates, typo in automation_time_axis.cc fix 2017-07-29 23:16:49 +02:00
06c37b7c3f Fix edit-cursor in TextEntry
Gtk::WINDOW_POPUP cannot be used for windows that require focus.
A gtk-entry without focus does not show an edit-cursor.
2017-07-29 02:05:37 +02:00
a3dd948c02 Allow to rename VCAs in the editor 2017-07-28 02:12:19 +02:00
e91821bd76 Fix pasting automation at 0 2017-07-27 03:22:21 +02:00
97e3168466 Fix ATAV hide button for VCA lanes 2017-07-27 01:34:16 +02:00
53565962b2 Ask user to save when using save-as or snapshot+switch. 2017-07-26 23:49:57 +02:00
Johannes Mueller
9bfe404b4e Fix #6280 – region (first_frame()==0) selectable with SnapRegionBoundary
Issue #6280 states that when selecting ranges using SnapToRegionBoundary it's
not possible to select regions with first_frame() == 0. This is because
Playlist::find_next_region() does not consider region boundaries == pos but
only > pos. Thus it never considers pos == 0 to be a region boundary.

This solution tries to be as little invasive as possible without changing the
semantics of PlayList::find_next_region(). Therefore position 0 is added to the
region boundary cache if there's a region starting at position 0 in any track.
2017-07-25 17:39:08 +02:00
8c260a647a update japanese translation (Hiroki Inagaki) 2017-07-24 14:59:11 -04:00
4ff6ed0f22 Add touch to trim-control 2017-07-24 01:59:22 +02:00
fde0e293a3 Remove unused "mark" parameter from stop_touch() API 2017-07-24 01:59:18 +02:00
f04bacdfac Drags are such a drag. 2017-07-24 01:59:13 +02:00
25df9f1ba5 Start/end touch for generic-UI knob and proc-box inline ctrls 2017-07-24 01:59:03 +02:00
05ddcdc004 Initialize some uninitialized variables
Editor::redisplay_tempo() is called early on, before
Editor::set_timecode_ruler_scale() and Editor::compute_bbt_ruler_scale ()
are called.  That is a bug which needs fixing (initial tempo+grid display)
. Still, uninitialized vars are not good.
2017-07-23 19:20:35 +02:00
YQ-YSY
f1ce28b6d9 Update zh.po for v5.10 Chinese Language 2017-07-22 15:52:15 +02:00
ce48dfdeba Hide VTAV header controls for small height 2017-07-21 21:48:20 +02:00
36f70d2bc2 Main Menu: some re-organization of session- and global-centric windows. 2017-07-21 14:44:37 -05:00
addcca9ff3 Fix recursion in FloatinTextEntry (amend f62c8c664d) 2017-07-21 18:58:51 +02:00
nick_m
2925fd52e5 Rework tempo marker editing menu functions
Setting a tempo to 'Continue' via right click puts it in a permanent state
of continuing the previous section's end tempo (basically what
'Lock Continue' should have been). This can be disabled (unlocked) by
selecting 'Don't Continue'.

Remove the previous temporary 'Continue' function.

Reorganise menu to separate position lock style from more commonly
used functions.
2017-07-22 02:15:20 +10:00
nick_m
1c51435fa3 Calculate clamped tempo stretch ratios using the correct (musical) domain 2017-07-22 02:15:20 +10:00
nick_m
1399ef391d Remove redundant beat arg from TempoMap::add_meter
BBT time should be enough to determine the beat.
2017-07-22 02:15:20 +10:00
nick_m
515cdb6b32 Rework region selection XML
Ensures that selection is restored in the same object type order
it was created in, which may some day make a difference.
2017-07-22 02:15:20 +10:00
nick_m
1d8548306b Cropping a single region to time selection works for multiple ranges
Should fix 7285.
2017-07-22 02:15:20 +10:00
nick_m
6e5c046f90 Fix time selection undo for multiple time selections
This is in mantis somewhere but i can't find it. timbyr?
2017-07-22 02:15:20 +10:00
nick_m
cadb5c481c Disable tempo end/twist drag for meter-locked tempi
It was assumed that the drag takes place within an area of musical time.
This is not true for the space before any non-initial
meter-locked tempo.
In the case of the initial tempo, there is no previous section
to perform an end-drag on.
2017-07-22 02:15:20 +10:00
nick_m
0d9c4986e9 Only add a new tempo or meter on click if the primary modifier is pressed
Being able to add with any modifier can confuse a user who expected
a tempo-altering drag.
2017-07-22 02:15:20 +10:00
nick_m
2bec17ca1a Remove duplicated tempo curve colour change when dragging 2017-07-22 02:15:20 +10:00
nick_m
d94c630134 Fix various issues wrt BBTRulerDrag
If we've clicked on a tempo bar before the initial tempo,
don't allow anything to happen.
If it was just a click, ensure the tempo curve colour is restored.
2017-07-22 02:15:20 +10:00
nick_m
33c06fd3ca Indicate musical position lock style of regions and locations using BEAMED EIGHTH NOTES in name
Also attempt to indicate lock type with symbols CROSS OF JERUSALEM and
LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR
2017-07-22 02:15:20 +10:00
nick_m
29e580a249 Time info box updates its length display correctly over a tempo change 2017-07-22 02:15:20 +10:00
nick_m
fb761a6fa7 Rework time info box updates on region selection change
Should provide better performance as we now only listen for changes in the
selected regions. Testing every changed region to see if its in
the selection was not working very well under some circumstances.
2017-07-22 02:15:20 +10:00
nick_m
d1932b23b3 Call Editor::abort_reversible_command() in MidiRegionView::abort_command()
Fixes broken undo stack if no changes occurred.
Edit note dialog is currently the only user.
2017-07-22 02:15:20 +10:00
nick_m
e82e30992d Remove double-nested reversible command when note editing 2017-07-22 02:15:20 +10:00
nick_m
964100e911 Fix both note length setting and display in EditNoteDialog
Length clock uses region relative time converter with offset to display
correct value over tempo changes.
Fix note length setting by using source time converter on a sample duration
based on a session-relative offset.
2017-07-22 02:15:20 +10:00
nick_m
c54978bd5c Add missing braces to Editor::cut_copy conditional 2017-07-22 02:15:20 +10:00
nick_m
c9617b4b16 Editor::playhead_forward/backward_to_grid snaps even in magnetic mode 2017-07-22 02:15:20 +10:00
3d50563620 Properly propagate TAV TimeSelection 2017-07-21 15:49:28 +02:00
8400ebd175 Amend c242cbc318 (VCA automation button) 2017-07-21 13:01:43 +02:00
c242cbc318 Add automation button to VCA strip 2017-07-21 02:10:29 +02:00
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
b7dc469515 Remove old API (unused, incorrect for grouped tracks) 2017-07-08 15:43:55 +02:00
5fc037cbe9 Fix gain inc/dec with multiple-selection spanning groups
When tracks in a gain-sharing group are selected, stepping gain
up/down affected the tracks N times:
   for-each selected track inc/dec gain w/grouping.

When a mix of grouped and un-grouped tracks is selected, this lead to
inconsistent gain changes.

The new approach expands the groups first. Ignoring groups is not correct
either for single selection.
2017-07-08 15:43:32 +02:00
75dea5bdc0 Drop region references when hiding the TimeFX dialog. 2017-07-07 17:30:37 +02:00
68c106eab5 Fix VCA Automation Lane selection
This moves child-selection API up into TAV (Superclass of StripableTAV
which actually owns the children)
2017-07-07 14:47:36 +02:00
f2c7f2fdcb Czech translation update by pfri #7190 2017-07-07 02:43:15 +02:00
7bb48aaa3f Remove cruft, steps cannot be 0. 2017-07-06 16:39:28 +02:00
f66b863a2d Make an info string translatable 2017-07-05 18:54:02 +02:00
608f99ad1c Fix a plugin-insert position off-by-one and remove cruft.
Route::before_processor_for_index() uses display_to_user() which
includes the Amp.

Insert position is still be wrong with the debug mode
ProcessorBox::show_all_processors == true, but that's not a regression.
2017-07-04 18:08:36 +02:00
2fdeb54b78 Always add plugins in the order given by the Manager UI. 2017-07-04 18:08:36 +02:00
e2d19d1668 Retain plugins order for copy/cut/paste + DnD #7416 2017-07-04 18:08:36 +02:00
c1eee02e1b Make VCA mute+solo buttons bindable 2017-07-03 19:55:17 +02:00
54aa82cd4b Another approach for stuck splash-screens:
Use Editor::first_idle() which is invoked every time when a session
is loaded (via set_session). This will catch ALL successful
session loads.

Failed session-loads explicitly pop down the splash in
ARDOUR_UI::load_session.

This only leaves "abort session open" which returns to the
session-open dialog (which pops back the splash).
2017-07-03 16:19:10 +02:00
417283d9be Don't just silently exit if initialization fails. 2017-07-03 14:44:03 +02:00
d9767b10ac Fix another crash at exit.
During ARDOUR_UI::finish(), after destroying various instances:
close_all_dialogs() -> ArdourDialog::on_response() -> GUIIdle()

The event loop recurses and may execute a previously scheduled
Editor::idle_visual_changer()
2017-07-03 14:03:10 +02:00
9695fd4ca9 Re-introduce toggle-editor-and-mixer (for ctrl-surfaces)
6af51b52 moved to dedicated show-editor/show-mixer actions for
keybindings because the Mixer has a dedicated handler.
For Control-surfaces a common action is still practical.

Note: This is still broken for detached windows. it currently only
toggles tabs correctly.
2017-07-03 01:41:35 +02:00
ef8756a83a Allow to bind generic plugin-ui dropdown + clickboxes 2017-07-02 22:53:28 +02:00
98a1a96f32 Add control-focus notifications from bindable GUI widgets. 2017-07-02 18:19:13 +02:00
496f83bf83 Allow ctrl-surfaces to show/hide plugin UIs. 2017-07-02 01:59:24 +02:00
3c6ab7aca3 Remove old API to keep track of plugin GUI widgets
This was superseded by WindowProxy and the ARDOUR::Processor
[set_]window_proxy() API
2017-07-01 23:41:25 +02:00
1be9e9d19e Remove unused variable (amend 79384339e) 2017-07-01 23:40:11 +02:00
Thomas Brand
79384339e9 Correctly display region name in context menu 2017-07-01 22:55:31 +02:00
Thomas Brand
218528dbe9 Fix some typos (closes GH PR #356) 2017-07-01 21:29:46 +02:00
0f3ee7c049 Use Stripable::Sorter in meterbridge 2017-07-01 21:25:01 +02:00
583a7a41e8 Remove old gnome-canvas src code. 2017-07-01 21:19:56 +02:00
b976bf8986 NO-OP whitespace & foratting of header files 2017-07-01 21:19:56 +02:00
Thomas Brand
63ea7b6516 NO-OP whitespace (updated GH PR #357) 2017-07-01 19:28:26 +02:00
2b1b0aa240 Fix crash when rapidly switching snapshots
ARDOUR_UI::load_session() calls flush_pending() which runs
gtk_main_iteration()s until idle.

If a user selects another snapshot from the sidebar, load_session()
is called again (from a call to load session)
2017-07-01 03:10:50 +02:00
02ed6130e4 Fix a typo 2017-06-30 20:02:45 +02:00
285ec18aa5 Don't interpolate&smooth playhead pos during export. 2017-06-29 18:40:51 +02:00
e74d1f1048 Use quotes for bundled library includes 2017-06-29 00:22:45 +02:00
c3c4efaa09 Use mnemonic-save API for menu-element texts 2017-06-29 00:22:42 +02:00
a9224abcf4 Add explicit VideoTimeline change-type, follow up on f73ce2d 2017-06-28 18:46:07 +02:00
f73ce2d47f Reset idle_handler_id (fixes idle zoom -- bug in 265f52535a)
If pending_visual_change.pending was zero when calling idle_visual_changer
the handler_id was never reset. and the idle-handler was never called
again.
2017-06-28 18:45:15 +02:00
0650e0d3fd Include file's sha1 in export-report image 2017-06-26 19:40:05 +02:00
5f30d87fd0 Changes to Editor::visual_changer to support Item/Canvas::prepare_for_render
This is necessary to allow calculation of correct intersection of visible
canvas area and items for the new Item::prepare_for_render() API.

samples_per_pixel must be set first to calculate the new horizontal canvas
position in Editor::set_horizontal_position and then
WaveView::set_samples_per_pixel will eventually call
WaveView::prepare_for_render for those items that are visible on the new canvas
position at the new position.

Or if there is not a change to zoom state then call Canvas::prepare_for_render
explicitly.

Also changes so that each method is only called once during
Editor::visual_changer
2017-06-26 08:40:47 +10:00
265f52535a Coalesce visual changes to canvas/items and allow canvas to render
First visual change will be processed as normal and then blocked until the
canvas renders the change. If further visual changes need processing then
Editor::pre_render callback will schedule another expose/redraw/render.

This prevents an issue where idle_visual_changer is called many times in
response to events(keys/motion/etc) but the canvas does not get a chance to
render any but the last one which results in a big pause/jump.

This results in a more responsive canvas and in particular a smoother and more
predictable zooming experience.
2017-06-26 08:40:47 +10:00
f7c134863c Tweak/Change the zoom scale in RulerZoomDrag
This multiplier really should be based on the "responsiveness" of the
canvas..or something. I think this is an improvement for more complex sessions
with many regions.
2017-06-26 08:40:47 +10:00
nickolas360
2106ab431b Add missing echo in ardev_common.sh.in 2017-06-24 01:34:21 +02:00
92fb6325e3 NO-OP: whitespace 2017-06-23 23:43:01 +02:00
d405b2dd6c Mixbus GUI updates (VCA layout, no panners) 2017-06-23 23:43:01 +02:00
d55cb9ba94 Update GUI to follow Slavable API change 2017-06-22 22:04:10 +02:00
6d35b3c4e4 Remove locale_guard.h from ardour/ardour.h header
Add to source files that use LocaleGuard

Results in far less recompiling when pbd/locale_guard.h changes
2017-06-22 10:48:38 +10:00
7e3a970c1e Remove LocaleGuard from ARDOUR_UI::save_ardour_state method
All float <=> string conversions are now done using PBD::to_string/string_to()
in ConfigVariable class or via XMLNode::get/set_property()
2017-06-22 10:48:38 +10:00
e6d2eef929 Remove LocaleGuards from VideoTimeLine class
float <=> string conversion is done using PBD::string_to/to_string() via
XMLNode::get/set_property so the LocaleGuards are no longer necessary
2017-06-22 10:48:38 +10:00
4e31157ef4 Remove LocaleGuard from VideoUtils::video_query_info
PBD::string_to is now used for float <=> string conversions so a LocaleGuard is
no longer necessary.
2017-06-22 10:48:38 +10:00
f3d622f6f9 Remove LocaleGuards from UIConfiguration class
all float <=> string conversions are done via PBD::to_string/string_to. Either
via XMLNode::get/set_property or directly in HSV and SVAModifier classes
2017-06-22 10:48:38 +10:00
85732a66e3 Remove LocaleGuard from MixerUI class
The float <=> string conversions that this guard was protecting are now using
PBD::to_string/string_to() via XMLNode::get/set_property()
2017-06-22 10:48:38 +10:00
4e385b44a6 Remove LocaleGuards from LuaInstance state methods
There are no float <=> string conversions in these methods and g_base64_encode
etc functions are not affected by locale.
2017-06-22 10:48:38 +10:00
cec97e2a84 Remove LocaleGuards from ExportVideoDialog class
All float <=> string conversion is now done using PBD::to_string/string_to()
via XMLNode::get/set_property()
2017-06-22 10:48:38 +10:00
2b0adc8f75 Remove LocaleGuards from Editor class
All float <=> string conversions are now done using locale independent
PBD::to_string/string_to() via XMLNode::get/set_property
2017-06-22 10:48:38 +10:00
55df5b39bc Prepare removal of redundant get_user/set_user API. 2017-06-21 18:13:41 +02:00
8cd8cb1650 Temporary session-format compatibility (revert before release)
Saving the new ControlList interpolation methods (enum) breaks loading
the session in older version. The session-format version will
need to be increased.

Until then:
 * Fader automation + region gain envelope uses linear fades
 * The automation-line visible in the GUI does not match the actual fade
   (the y-axis is log/exp-scale, the fade is linear)
 * Adding new points on the line is not using the correct initial value
 * Custom changes of interpolation mode are not available

Neither of these issues is a regression.
2017-06-21 18:13:36 +02:00
df6655ac68 Add interpolation-mode menu to ATAV. 2017-06-21 18:13:06 +02:00
fd36355e2c Log-scale/relative automation point dragging 2017-06-21 18:13:03 +02:00
1db9ce4c90 update GUI to use new APIs 2017-06-21 18:13:01 +02:00
555fcb89e5 GUI: prepare for API changes
remove use of
- unbound_min/max
- list->default_value and min/max_y
2017-06-21 18:12:16 +02:00
567c0a8f53 Switch to PBD control-math and prefer Controllable API
Note: Control-surfaces should always use interface_to_internal()
and internal_to_interface().
2017-06-21 18:12:04 +02:00
7c94499aec Remove Cruft -- AutomationStyle never did anything.
Trim automation is planned via SlavableAC as normal AutomationMode.
Some of this code have a revival (a special "Trim+Preview" state
before merging Automation but that has to be more general than Pan & Gain.
2017-06-21 13:16:27 +02:00
973d58e8f9 Add option add automation-lane points on the line -- #7397 2017-06-18 22:13:02 +02:00
Hiroki Inagaki
c0611fb55e Update Japanese translation, including a fix for an issue that translation for a certain string leads failure to launch the application on Windows 10 2017-06-17 22:15:41 +02:00
506b478fe7 NO-OP, just cleanup & scope 2017-06-17 18:29:26 +02:00
fec5aec9a0 Fix TrackView selection after re-order.
because reordering a TreeView [pragmatically] does not retain selection.
2017-06-17 18:29:23 +02:00