Commit Graph

11578 Commits

Author SHA1 Message Date
Robin Gareus
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
Robin Gareus
0650e0d3fd Include file's sha1 in export-report image 2017-06-26 19:40:05 +02:00
Tim Mayberry
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
Tim Mayberry
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
Tim Mayberry
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
Robin Gareus
92fb6325e3 NO-OP: whitespace 2017-06-23 23:43:01 +02:00
Robin Gareus
d405b2dd6c Mixbus GUI updates (VCA layout, no panners) 2017-06-23 23:43:01 +02:00
Robin Gareus
d55cb9ba94 Update GUI to follow Slavable API change 2017-06-22 22:04:10 +02:00
Tim Mayberry
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
Tim Mayberry
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
Tim Mayberry
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
Tim Mayberry
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
Tim Mayberry
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
Tim Mayberry
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
Tim Mayberry
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
Tim Mayberry
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
Tim Mayberry
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
Robin Gareus
55df5b39bc Prepare removal of redundant get_user/set_user API. 2017-06-21 18:13:41 +02:00
Robin Gareus
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
Robin Gareus
df6655ac68 Add interpolation-mode menu to ATAV. 2017-06-21 18:13:06 +02:00
Robin Gareus
fd36355e2c Log-scale/relative automation point dragging 2017-06-21 18:13:03 +02:00
Robin Gareus
1db9ce4c90 update GUI to use new APIs 2017-06-21 18:13:01 +02:00
Robin Gareus
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
Robin Gareus
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
Robin Gareus
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
Robin Gareus
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
Robin Gareus
506b478fe7 NO-OP, just cleanup & scope 2017-06-17 18:29:26 +02:00
Robin Gareus
fec5aec9a0 Fix TrackView selection after re-order.
because reordering a TreeView [pragmatically] does not retain selection.
2017-06-17 18:29:23 +02:00
Robin Gareus
ea1669aa00 Remove delayed selection which causes duplicate selection actifacts.
The first click to select a new stripable may actually un-select strip.
counting and ignoring this leads to strange behavior.
Also when the selection_counter hit zero, VCAs were not ignored.

whatever this workaround was good for, it's more trouble than it's worth.
As side-effect this also improves DnD + Gtk::Entry behavior with stock GTK.
2017-06-17 18:29:19 +02:00
Robin Gareus
cfe63b7b15 Simplify route-display TreeView.
There's no TargetEntry receiver for the custom DnDTreeView<Route> object.
We can just use a default Gtk::TreeView.
2017-06-17 18:29:15 +02:00
Robin Gareus
af2ee3c856 Don't de-select tracks when order changes 2017-06-17 16:14:28 +02:00
Robin Gareus
8fa60eaf05 Ignore Selection::set() without actual changes 2017-06-17 16:11:24 +02:00
Robin Gareus
f77540120c Remove Cruft 2017-06-17 15:52:03 +02:00
Robin Gareus
1e97c09eed Fix adding tracks/busses at the top 2017-06-17 04:37:10 +02:00
Robin Gareus
237aa3e3a0 Remove Cruft 2017-06-17 04:36:55 +02:00
Robin Gareus
d88da33949 NO-OP: whitespace 2017-06-17 04:36:50 +02:00
Robin Gareus
1d28665f86 Use Stripable::Sorter in GUI consistently. 2017-06-17 04:36:39 +02:00
Robin Gareus
921bdd4a51 Fix engine-state history.
Remove old code to remove duplicate engine state which was used to
work-around a bug since 3.x saved duplicates but broke with 4.x separate
i/o devices.

Add a new variant to purge old unused states per backend (after sorting).
2017-06-16 22:32:56 +02:00
Robin Gareus
af6941ac34 Prepare VCA Automation Lanes -- refactor TAV
* add an abstract StripableTimeAxisView (Route TAV + VCA TAV)
* move common strip-methods into STAV
* Add Automation Lanes to VCA TAV
* Allow ATAV without Automatable for VCA Controls
2017-06-15 16:06:32 +02:00
Robin Gareus
5957a4619a Remove another explicit Close button. 2017-06-15 16:06:05 +02:00
Robin Gareus
34abc2dc2d Squelch error message when toggling master-bus visibility. 2017-06-14 21:23:12 +02:00
Robin Gareus
1794d08789 Fix Monitor Group override 2017-06-12 20:47:44 +02:00
Robin Gareus
8faf07bd6c Consistent "cancel/close" button position on the left.
"Add and Close" is an odd one out and this button should really be
removed for consistency. Still it allows for a 2-click or
2-keyboard-shortcut very common action.
2017-06-12 17:20:41 +02:00
Tim Mayberry
140ce4daec Restore the state of the autoplay button in the import dialog 2017-06-13 00:08:26 +10:00
Tim Mayberry
19384be74b Make Import the default action in the Import Dialog
Double clicking on a file or pressing the Return key will now import it.

This means with autoplay enabled you can navigate a directory of audio files
using the up and down arrow keys and import the wanted files (with Return)
without having to touch the mouse.

Being able to use double click to import a file means you don't have to move
the mouse back and forth between the file browser and the import button.

You can still manually audition the file with space as before.
2017-06-13 00:07:47 +10:00
nick_m
8502aa18c5 NoteCreateDrag - Fix incorrect note length due to use of region-relative position 2017-06-10 03:49:01 +10:00
Robin Gareus
99b064274f Update GUI, drop Automatable::value_as_string() API 2017-06-09 16:54:21 +02:00
Robin Gareus
b0f68a0f5c Prepare AutomationTimeAxisView for non-route (VCA) automation 2017-06-09 16:54:21 +02:00