13
0
Commit Graph

10611 Commits

Author SHA1 Message Date
444497b571 remove close buttons from Bundle Manager (rely on WM provided button) 2016-08-21 23:02:37 +02:00
cd77f7e209 even more consistent labels in the mundle manager 2016-08-21 23:02:37 +02:00
9e981367e2 Fix another crash at exit:
Collecting bindings after ::finish() has already destroyed half the GUI
will result in memory corruption invalid Glib::RefPtr<Gtk::Action>

 Gtkmm2ext::ActionMap::get_actions()
 Gtkmm2ext::Bindings::get_all_actions()
 KeyEditor::Tab::populate()
 KeyEditor::refresh()
 Editor::set_script_action_name()
 LuaInstance::session_going_away()
 PBD::Destructible::drop_references()
 ARDOUR::Session::destroy()
 ARDOUR::Session::~Session()
 ARDOUR_UI::finish()
2016-08-21 23:02:37 +02:00
5eacf424b6 Resolve Bundle Manager Input/Output label ambiguity 2016-08-21 19:12:16 +02:00
01ac1b5362 Merge set_pango_fontsize() into reset_dpi()
… since reset_dpi() is the only caller.
2016-08-21 15:04:06 +02:00
6588da09b3 Silence a GCC initialization order warning 2016-08-21 15:04:06 +02:00
ec74d4b0d0 Avoid jitter of track headers width when changing automation states 2016-08-20 18:32:37 +02:00
fcadcac7e7 Make knobs size requests dynamic
At the point of creation, the automate_button size request is wrong
since it has not the correct style yet. Instead of trying ugly hacks to
fix that, connect to the knob's size_request signal and get the button's
requisition only when needed. If the system font changes to one that has
different extents (even if the point size is the same), the UI will thus
correctly update.
2016-08-20 18:12:49 +02:00
aed07c4998 Do not constrain vertical size without need
A value of -1 means "let the widget use its natural size in that
direction".
2016-08-20 18:12:07 +02:00
ed723ca2c3 Use ArdourButton::Square mode instead of ad-hoc sizing 2016-08-20 18:11:13 +02:00
00e081024b Use set_sizing_text in generic plugin ui 2016-08-20 16:05:18 +02:00
99e31db66e Invalidate char_pixel_* on possible font change
So that the padding and other elements always correctly depend on the
font instead of the default GTK font (which might have a wildly
different size from the fixed size fonts of Ardour's custom theme).
2016-08-20 16:01:15 +02:00
f108bf1373 ArdourButton: add text for measuring decoupled from display text
In the normal course of events, an ArdourButton requests just enough
space to display its elements. In particular the size will change when
the text does. Yet, in several cases it is better to avoid layout jittering; until now ArdourButton users manually set a static size on the button at creation time.

Introduce new API to set the text used for measuring the button size
separately from the text that will be displayed. In most cases this
enables the callers to replace

    set_size_request_to_display_given_text(button, text, w, h);

where w and h were hard-coded to cater for other button elements, by

    button.set_sizing_text(text);

which will make ArdourButton correctly compute the size request in all
cases with its real elements and padding. ArdourButton users can call

    button.set_sizing_text("");

to get the size request depend on displayed text (which is the default).
2016-08-20 16:00:46 +02:00
23ccf48c28 Fix colors of disabled spin buttons (and maybe others)
The insensitive state should not get a base color that's the same as the
enabled one, or the difference is not visible enough (only the text
color changes). In fact, since the goal of the entry modifications is to
aid visibility during user input, there is no reason to override the
insensitive colors.

Just inherit the insensitive colors of the global style.

Also fix a comment that was attached to the wrong declaration.
2016-08-20 00:31:19 +02:00
nick_m
c1b950373f Amend last commit - remove some code. 2016-08-20 05:41:12 +10:00
nick_m
869a9cb5df Swap tempo/meter colours when hovering. Use entered marker for these as well.
- Note : entered_marker modifies the 'p' press, locating to the
	  currently hovered-over marker.
2016-08-20 04:36:52 +10:00
nick_m
949dd8245d Add a colour for music-locked meters. 2016-08-20 04:33:51 +10:00
91757960cc fix missing API for no-app-nap when building on OS X < 10.9 2016-08-19 13:19:37 -04:00
nick_m
0444ce1d5e Revert last commit (269a08a2b1). 2016-08-20 01:58:56 +10:00
nick_m
269a08a2b1 Allow both types of constrained drag (again).
- Holding the constraint modifier at the time of grab gives constrained x.

	- Holding the constraint modifier after the grab but before the first motion
	  constrains to the direction of first movement.
2016-08-20 01:46:04 +10:00
nick_m
2d7bdda0be Extending an empty selection selects the clicked region.
- fixes a crash where the first operation on loading a session
	  is a constrained drag
2016-08-20 01:34:53 +10:00
25ec63968c add code to disable AppNap on OS X/MacOS
Should build on versions before 10.9 and run everywhere due to respondsToSelector check.
2016-08-19 11:12:35 -04:00
e2846ad210 Remove unused lines in clearlooks.rc.in 2016-08-19 15:49:47 +02:00
5cc97f55f2 Avoid CamelCase in color names 2016-08-19 14:57:07 +02:00
d599be115d Make automation state buttons active when not on Manual
With the same color code as the fader automation button on mixer strips.
This is especially usefull when use_knob is true (e.g. for a-EQ) because
the automation only shows one letter and a "Write" state can thus be
easy to miss.
2016-08-19 02:53:39 +02:00
ede27f53c6 Remove unused space in gain_meter's automation menu 2016-08-19 02:53:39 +02:00
907c56234c Add missing return 2016-08-18 16:32:38 +02:00
523306036e Make ArdourButton detect when a grab should stop being pressed
If for whatever reason a grab is taken (e.g. a menu popping up) while
somebody is pressing a mouse button on an ArdourButton, then the
ArdourButton will not get the mouse button release event and will look
stuck in pressed position.

The leave notify event is fired if the mouse is still on the
ArdourButton while the grab is taken, but not if the user was dragging
the mouse outside of the button.

The only reliable way is to listen for the grab_broken_event signal.
Do so.
2016-08-18 16:16:17 +02:00
0ab81183c0 don't show empty time axis view context menus 2016-08-18 08:16:31 -04:00
534ca81613 Make buttons in track headers behave more like Gtk::MenuToolButton
Make their popup menus show attached, and on mouse down, but keep the
context menu behavior on middle- and right-click for the group button
that reacted to those (probably an oversight but some users might have
got the habit of right-clicking).

This also makes the group deletion on Ctrl+click happen on mouse down
instead of mouse up which is not a great difference and avoids
complicating the code.
2016-08-18 13:24:00 +02:00
1d686ac978 Make name_button behave more like a Gtk::MenuToolButton
Make it popup its menu in attached mode, and on mouse down, but keep the
context menu behavior on right-click.
2016-08-18 11:52:22 +02:00
3ab6ff8be7 Make in/out buttons behave more like Gtk::MenuToolButton
Make them popup their menu as if attached rather than as a context menu.
2016-08-18 11:50:38 +02:00
9095d60f96 removed commented code, now that the comment is actually correct 2016-08-17 23:13:49 -04:00
71236425a6 fix hard/impossible trimming situation 2016-08-17 23:09:33 -04:00
e8427ee2cb GUI does an even stronger check on no undo/redo while recording 2016-08-17 19:22:26 -04:00
214dfccdae Use a real dropdown for AutoState in automation lanes 2016-08-17 23:56:31 +02:00
606ffe6a35 Align the currently selected automation state on dropdown
By passing the current text of the automation button we can make the
dropdown menu align with the current mode. This will only work for
full-size automation buttons, not when use-knob is true, but in that
case it feels wrong to popup on top of the button anyway.

Also make the menu show on mouse down like a real dropdown.
2016-08-17 23:56:31 +02:00
90e2baf6a9 upcoming codenames 2016-08-17 17:04:02 +02:00
d883d4623a Make MixerStrip's automation menu behave like a dropdown 2016-08-17 14:30:28 +02:00
b48e803cf6 Make the group button in MixerStrip behave like a dropdown
Since it mostly is a multiple-choice menu.
2016-08-17 01:46:11 +02:00
6a985df81e Replace positioning function with popup helper
Because all uses of the function positioning menus anchored to a widget
were as callback argument to Gtk::Menu::popup() where the caller needed
to correctly bind arguments, this led to repeated and a bit obscure code.

Wrap the logic into an helper function that takes care of all that, and
update the callers.
2016-08-17 01:45:47 +02:00
46710a75de fix issue with WM close/delete ("X") button not working for window proxied dialogs (e.g. add route dialog) 2016-08-16 13:57:00 -04:00
9421e0b4a7 allow constrained-drag of MIDI notes to work 2016-08-15 11:20:23 -04:00
nick_m
a9b72f87a6 Add missing line feed in midi_region_view.cc 2016-08-16 00:56:08 +10:00
nick_m
cecbae1df4 Midi region ghost note uses beat-based note time calculation. 2016-08-16 00:52:18 +10:00
nick_m
62372b48ea Fix frame-based beat calculation in MidiRegionView::snap_frame_to_grid_underneath()
- this caused the ghost note under the pointer to behave badly when
	  hovering near an audio-locked meter.
2016-08-16 00:48:54 +10:00
nick_m
a7032917b1 Remove assumption that the meter starts at frame 0 in Editor::apply_midi_note_edit_op_to_region(). 2016-08-14 04:49:37 +10:00
nick_m
2cc37a25bb Sync User Interactoin tooltips with new default settings. 2016-08-14 03:04:54 +10:00
nick_m
f6eac26a98 Choose some non-overlapping defaults for User Interaction modifier keys. 2016-08-14 03:04:54 +10:00
nick_m
444819e84a Add a new modifier combination that allows overlap with snap-related defaults.
- this should be enough to handle all of the current possibilities.
2016-08-14 03:04:54 +10:00
nick_m
b104cb84c4 User Interaction pref shows the push points modifier in the 'beginning a drag' row.
- it is currently dual use (move both ends of a range marker
 	  during drag / push control points at the beginning of a drag).
	  this may have to be separated, but as it is called the push
	  points modifier, it belongs here.
2016-08-14 03:04:54 +10:00
nick_m
4eba9b8638 Resolve potential ambiguity between the constraint modifier and the copy modifier when beginning a drag. 2016-08-14 03:04:54 +10:00
nick_m
c62026b567 Ensure RelevantModifierKeyMask is updated on each modifier change.
- fixes bug where changing prefs in User Interaction
	  only took effect on restart.
2016-08-14 03:04:54 +10:00
nick_m
1c0651f7f4 Ensure BBTRulerDrag operates within the tempo map. 2016-08-14 03:04:54 +10:00
nick_m
e3a8f2786d Ensure positive length whan drag-adding new midi region. 2016-08-14 03:04:54 +10:00
nick_m
5c2ccc4f3e Allow negative return in TempoMap::beat_at_frame() and its exact_ variant.
- audio-locked midi regions can be start-trimmed properly
	  when close to 1|1|0
	- a midi region placed before the first meter
	  will continue the tempo curve and first meter.

Only a couple of callers require change, as bbt_at_beat() already
deals with this.
2016-08-14 03:04:53 +10:00
23d1d1f55b add nstewart to authors 2016-08-13 16:12:12 +02:00
Nathan Stewart
5b4584ad94 Add "Marker Toggle" #5193 2016-08-13 16:07:16 +02:00
313a32981e tweak strings now that 5.0 is out 2016-08-13 14:51:15 +02:00
836693036a add RMS region normalization option 2016-08-13 14:50:59 +02:00
73db972ab7 add plural forms for pt to gtk2_ardour/po/pt.po 2016-08-08 20:24:46 -04:00
186ac82471 (updated) pt(_BR) update for gtk2_ardour from Marcelo Teles 2016-08-08 20:20:45 -04:00
7691ee033a Revert "pt(_BR) update for gtk2_ardour from Marcelo Teles"
This reverts commit cf08eaa32d.
2016-08-08 20:19:55 -04:00
ed594c45fc updated russian translation from Alexandre Prokoudine 2016-08-08 20:12:56 -04:00
6a4fb58384 fix thinko that causes near duplicate menu items in group context menu when not in group tabs 2016-08-08 23:36:33 +02:00
f47ae6c0f9 fix bug when appdata.pot file cannot be regenerated 2016-08-08 13:51:20 -04:00
653df3ca4f GenericUI: better popup placement for automation mode 2016-08-08 16:44:40 +02:00
a51cd8689f Move anchored menu placement strategy to Gtkmm2ext utils
So that it can be used by others.
2016-08-08 16:44:40 +02:00
0d2ba3fe8e fix typo 2016-08-07 20:29:21 +02:00
f97696d7f3 Make ArdourDisplay a subclass of ArdourDropdown 2016-08-07 19:44:54 +02:00
054b347181 Remove the space for checks/radios/icons in dropdowns 2016-08-07 18:50:17 +02:00
5dd4c33915 Make Dropdown menus at least as wide as the button 2016-08-07 18:43:39 +02:00
5f6cec7c2f Improve placement of Dropdown popups.
When an item in the menu corresponds to the currently displayed choice,
vertically align the item with the button on menu popup.
2016-08-07 17:20:43 +02:00
625240fe30 Use a C++ bool constant 2016-08-07 16:17:39 +02:00
e1da96c472 Improve ArdourDropdown menu position 2016-08-07 16:14:59 +02:00
Edgar Aichinger
595684ddf7 update german translation 2016-08-06 16:49:41 +02:00
836f48457d add a "Pin Management" button to the plugin UI-header 2016-08-05 02:35:51 +02:00
Nils Philippsen
65c2e089ab workaround changes in glibmm 2.49.x
Glib::RefPtr defines the operator bool() as explicit which breaks
comparisons like "some_ref_ptr == 0" or "... != 0".

https://bugzilla.gnome.org/show_bug.cgi?id=769502
2016-08-04 09:52:22 +02:00
fcf9836da0 add a wrapper to launch the vst-scanner manually 2016-08-03 19:56:22 +02:00
cooltehno
57e9b502a7 Update clear-gray-ardour.colors
A peak rectangle in the mixer strip is ruled by "gtk_bright_indicator". In the previous commit I mixed up this item with "meterbridge label" & "meterbridge peakindicator". This commit changes "gtk_bright_indicator" from white to red and returns "meterbridge label" & "meterbridge peakindicator" state to primordial. So now the peak rectangle in the mixer strip will be red when a sound peak has a place.
2016-07-31 19:22:42 +04:00
nick_m
0a3aa9c324 Use S_ macro when comparing modifier names in User Interaction Preferences.
- Fixes bug where selecting 'Shift' as a modifier was ignored.
2016-08-01 01:04:28 +10:00
cooltehno
1a481e661b Update clear-gray-ardour.colors 2016-07-31 17:11:58 +04:00
pablus
68b78ac357 Update Spanish translation 2016-07-30 12:52:58 +02:00
46a69ade78 Update French translation 2016-07-29 22:10:49 +02:00
f41e0cd4a2 Make monitor detection reuse the port name translation
So that they never get out of sync, and translators don't get confused.

Also replace some N_() where X_() was really intended.
2016-07-29 22:10:49 +02:00
YQ-YSY
d0126be806 2016-07-29 Update zh.po for Ardoru 5.0 2016-07-29 21:34:52 +08:00
67cbdc6cf2 GenericUI: Update all input controls on preset load
The existing code relies on AutomationControls for getting parameter
changes and update the UI accordingly. One case where this doesn't yet
work is preset loading, where ARDOUR::Plugin is responsible for actually
loading the preset but doesn't notify the changes to AutomationControls.

Since the input_controls vector now contains all ControlUI's that rely on
AutomationControls to get updates, just listen to Plugin::PresetLoaded()
and trigger an update of all elements in input_controls.

This is temporary until a better solution is devised to make
AutomationControls aware of preset loading.
2016-07-29 02:06:55 +02:00
7e30161dc0 GenericUI: Show automation UI for dropdowns
Also merge the ControlUI local layout of dropdows with the local layout
of other control types (except FileButton).
2016-07-29 00:54:25 +02:00
5c5b7746a2 GenericUI: disable super rapid timer for input controls
The super rapid timer was disconnected by GenericPluginUI::stop_updating
but never connected again, so the generic UI worked often without
getting periodic update triggers anyway.

Try to disable the mechanism altogether, and see if there are updating
glitches.
2016-07-29 00:14:20 +02:00
a7b29d7966 GenericUI: replace if() by assert()
It makes no sense to check for the validity of mcontrol only for
controller creation, since the remainder of the code assumes that the
controller will have been created correctly.

Replace that by an assert.
2016-07-29 00:07:02 +02:00
3365722b8b GenericUI: remove duplicate connection to signal
Now that there isn't an early return anymore for Dropdowns, the common
path takes care of connecting the display update code to the correct
signal.
2016-07-28 23:21:10 +02:00
d26c3d380d GenericUI: replace early return by an else 2016-07-28 23:21:10 +02:00
535814cf98 GenericUI: don't add all inputs to automation vector
That list is used to set the automation state of all automatable
controls when the global automation state is changed with the buttons at
the top of the generic UI window. The controls were added to the list
regardless of the automatable status, and some controls were even added
multiple times: once in build_control_ui() and once in build().

Since changing the state of non-automatable controls is wrong, only add
the control UI in build_control_ui() which already has the knowledge of
automatable or not.
2016-07-28 23:21:09 +02:00
35a20a8bcc GenericUI: add a sanity-check for FileChoosers
Assert that all FileChooserButton created are for properties, because
the remaining code assumes that it should setup things for a property.
2016-07-28 23:20:04 +02:00
0e7b9c6a98 GenericUI: move up filepath property handling
Since it is the only case that's completely different from others in
that it only handles properties, and uses a different signal path for
updates, don't put it in the middle, but as the first case to check for.

Code move only, no behavior change (since it should be exclusive to all
other cases anyway).
2016-07-28 23:20:03 +02:00
63bbcf968a GenericUI: only connect one PropertyChanged callback
The code connected the callback to the PropertyChanged signal from the
plugin once per filepath control created. Should the plugin have several
files to open, this would be at best wasteful and at worst racy.

Connect the callback a single time, since the same callback handles all
property updates that we're interested in. Also rename the methods,
members and typedefs so that it's clear what the code is trying to do.
2016-07-28 23:19:08 +02:00
1d173bc84f GenericUI: replace ComboBoxText by ArdourDropdown 2016-07-28 23:18:47 +02:00
cf08eaa32d pt(_BR) update for gtk2_ardour from Marcelo Teles 2016-07-26 10:32:03 -04:00
c71cc6fe5b When showing a prefs pane, select the row in the tree
When programmatically showing a pane, instead of directly asking the
preferences notebook to show the pane, search for the asked path in the
panes tree, and select it. Since OptionEditor listens to selection
changes in its TreeView, the correct pane will be shown, with the added
benefit that the corresponding section in the tree will be highlighted
so that the user knows which pane is currently shown.
2016-07-26 08:02:40 +02:00
37dc4bd8a7 Factor out and simplify the search by components in options tree 2016-07-26 08:02:40 +02:00
78b7e07690 Make a right click on metronome really show click preferences
Solve http://tracker.ardour.org/view.php?id=6906
2016-07-26 03:19:22 +02:00
994df3aaa3 improve shuttle control response when grabbed. 2016-07-25 19:43:57 +02:00
793ff25e08 plugin spectrum analysis: plot A/B 2016-07-25 17:45:14 +02:00
822810b88f the endless quest to plug memory leaks -- episode 379 2016-07-25 17:38:59 +02:00
ac8f4baa00 add some flush_pending timeouts 2016-07-25 14:51:23 +02:00
42b20f15a2 fix crash in preferences dialog if lv2-extended is not defined 2016-07-25 01:33:23 +02:00
46c311b2b0 Fix frequence display for plugin analysis mouse over
When freq was changed to be an integer, the conversion to kHz became a
truncation. Divide by the float 1000.0 to pass the correct value to the
stringstream formatting routine.
2016-07-25 00:46:49 +02:00
9215710c59 Plugin Analysis: show numeric values on mouse over
For people who need more precise frequency or response amplitude, show
the values corresponding to the point under the mouse.
2016-07-25 00:31:47 +02:00
ad34eb7e0b fix some spelling inconsistencies. 2016-07-24 20:30:23 +02:00
864a1860cc gtk2_ardour: update UK English localisation 2016-07-24 16:11:46 +01:00
07959fb365 some more (untranslatable) lower case kilos. 2016-07-24 16:54:08 +02:00
4093cf6b90 Make the trim knob on busses show only if there is audio
The trim knob has been designed to operate only on audio channels. If
the bus has none, hide the knob that would otherwise have no effect at
all.

Factor the trim control show/hide code out of MixerStrip::set_route(),
and also call that code in response to I/O changes in the route.
2016-07-24 13:51:11 +02:00
ba815a903b add a ToDo note for after string-freeze 2016-07-24 13:33:09 +02:00
7897b750ea rework FFT-graph, add pointer-position annotations
* replace old Gdk graphics context with cairo drawing
* cache graph on an image-surface
* allow partial exposure
* add annotation overlay
2016-07-24 13:00:15 +02:00
46d2b03af0 retain desired samplerate when switching backends 2016-07-24 13:00:15 +02:00
bcee4e1518 add a lua timer callback signal 2016-07-24 13:00:15 +02:00
nick_m
6e49ca61a4 Remove the temporary note group in MidiRegionView, update start trim during drag. 2016-07-22 23:21:27 +10:00
43bdfa7197 invalidate meter-color cache when midi channel count changes
This fixes a bug of midi-colors being used for audio-meters or
vice versa when when the total channel count remained identical
2016-07-22 12:57:24 +02:00
34fe25c603 remove debug noise 2016-07-20 16:33:40 -04:00
85cdff7cb0 Use the new do_export() method when asked to export 2016-07-20 02:01:40 +02:00
0b5f2c5d58 Don't add Bundles to PortMatrix if they only have mistyped ports
PortMatrix is able to filter out ports that have an unwanted datatype, but
if a Bundle is added that has no port at all with a wanted datatype then
it is not weeded out correctly (and even if it were, there's no chance
that it will legitimately appear in the UI). Don't add that kind of
Bundle in the first place.
2016-07-19 02:10:40 +02:00
f5ed0c6d07 Remove bus ignore from MIDI tracks
Now that busses can contain MIDI, this special casing doesn't make sense
anymore.
2016-07-19 02:10:40 +02:00
901f8caf22 add a plugin-death connection
at application exit, there may otherwise be a race condition,
queue draw could be scheduled for a widget that's no longer present.
2016-07-18 23:52:40 +02:00
a450024c56 add some strategic lua gc steps. 2016-07-18 23:52:40 +02:00
1a55e83e98 move show_gdk_event_state() utility function from gtk2_ardour to libs/gtkmm2ext 2016-07-18 14:41:25 -04:00
653b113607 fix unused variable warnings and code tidy 2016-07-18 14:39:32 -04:00
cf4b4dea3e fix Pingback 2016-07-18 19:21:05 +02:00
c9959f742a clean up HttpGet 2016-07-18 19:21:05 +02:00
eed6d13b60 add 2 missing colors for clear gray theme 2016-07-18 12:06:31 -04:00
c17b4fd135 add new clear-gray color theme 2016-07-18 12:03:37 -04:00
56c4b3c9b0 turn back towards color theme files ALWAYS including the program name. also load both default and user colors (if present) 2016-07-18 11:50:38 -04:00
8c944c08ea Normalize API rename part 2 2016-07-18 17:37:13 +02:00
318472ab6e Update pingback to use ArdourCurl 2016-07-18 16:46:59 +02:00
e9a2eea867 remove old a3_curl API and switch some curl calls
Keep freesound-moocher as is until freesound-apiv2 branch is merged
or rebased.
2016-07-18 16:46:59 +02:00
004b57e9f6 ArdourCurl: prepare to unify various curl calls
mainly motivated by a central location to setup SSL.
2016-07-18 16:46:59 +02:00
05ec8c46a7 pingback:: use curl_free() for pointers returned by curl_easy_escape()
As per the curl documentation, use curl_free() for pointers returned by
curl_easy_escape() rather than plain free().
2016-07-18 10:53:48 +02:00
6424a0eab9 fix cURL/SSL
pingback comes first. We need defaults (with SSL). Later explicit
(Freesound Moocher) and implicit (curl_easy_init) calls to curl_global_init
are idempotent and won't get the flags back.
2016-07-17 19:16:45 +02:00
9c2682d6f1 quick hack to test SSL in bundles
this needs to be reverted, and we need a proper curl wrapper,
shared by video-timeline AND freesound moocher
2016-07-17 17:03:48 +02:00
1a7fd81f40 fix double quote in fr.po 2016-07-16 19:09:15 +02:00
5a8553f02c repeat "Scan" button in plugin sub-menus 2016-07-16 18:50:59 +02:00
786cb746d0 Better choice for ports on external send creation
Ardour tried to make an educated guess at the initial number of outputs
for a new send. It used the channel configuration of the master bus, if
it existed, else the channel configuration of the route itself.

That guess is good in most cases, but in the case of a track/bus without
audio channels, creating a send with audio doesn't make sense. In that
case, also use the route outputs as a base for the send configuration.
2016-07-16 02:29:58 +02:00
813b92c85b Review, import and augment translations from edwsaintesprit@hotmail.com 2016-07-16 02:27:31 +02:00
15433457f2 export RT support as Timespan option 2016-07-16 02:15:56 +02:00
d0f594ffd0 adjust plugin-UI height when toggling expanders 2016-07-16 02:12:16 +02:00
93ffece465 hotfix C++ locale (OSX, windows) 2016-07-15 16:10:42 +02:00
bfc6b6a3ab Update french translation 2016-07-15 00:04:35 +02:00
bb1a636633 Make french translation up-to-date with Ardour's current code 2016-07-15 00:04:35 +02:00
167b9dda37 fix OSX compilation 2016-07-14 23:08:23 +02:00
83d0a2d2a1 fix file permissions - themes are not executable 2016-07-14 21:41:16 +02:00
cf52d6e4b4 enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h 2016-07-14 14:45:23 -04:00
f53655d17c NO-OP whitespace 2016-07-14 18:48:31 +02:00
dcad5a6dfe fix plugin-analysis for VST (no in-place processing) 2016-07-14 18:43:19 +02:00
9da43c5ceb UIConfig needs C numeric locale while setting GTK color theme 2016-07-14 11:37:48 -04:00
521fe586d7 correctly initialize C++ locale as well as C locale 2016-07-14 11:37:48 -04:00
09bd7a4bca another i18n/.po update 2016-07-14 06:21:03 -04:00
bd865c8c90 fix plural form snafu in translation macro 2016-07-14 06:20:17 -04:00
bbc3447005 another i18n/.po update 2016-07-14 06:19:20 -04:00
81a10a26e0 regenerate and manually fix all PO files so that ./waf i18n doesn't generate unnecessary errors 2016-07-14 06:19:19 -04:00
d46e8a3d8b make ./waf install do the right thing with color files 2016-07-13 21:49:28 -04:00
868ed09499 better color choice for control master controls box in editor 2016-07-13 18:04:00 -04:00
dc43189c7e fix save/restore of preferences torn-off-window state 2016-07-13 16:39:26 -04:00
699d008e06 use Session::cancel_all_solo() 2016-07-13 14:33:46 -04:00
eab3c57b83 fix odd double conditional 2016-07-13 13:43:31 -04:00
0784660d91 set a theme color for VCA axes in the editor 2016-07-13 13:09:57 -04:00
065d9434b9 fix stem-export of no-input busses/tracks 2016-07-13 04:59:26 +02:00
0c914b8f1e initialize more uninitialized variables.. 2016-07-13 04:31:34 +02:00
28bb82cee7 remove VCA drop button 2016-07-12 17:05:07 -04:00
7ed6dab340 use new midi-note-name API 2016-07-12 23:02:46 +02:00
92713eaadf VCA/Control Masters are displayed at fixed positions (initially), so insert-at options are irrelevant when adding them 2016-07-12 16:55:12 -04:00
5408278802 VCA/Control Masters have no signal, so output i/o options are irrelevant when adding them 2016-07-12 16:51:02 -04:00
fc06525bb2 two more places where the user can explicitly set the session end now also make the end non-free 2016-07-12 12:31:02 -04:00
774ad0752a GUI side of : once the user has explicitly set the session range end, playlist/range changes do not move it.
The user may drag the marker, edit in the Location UI, or use nudge, to set the end
2016-07-12 11:19:49 -04:00
53274c5bae do not show windows derived from ArdourDialog at startup.
See code comment for more details
2016-07-12 10:27:19 -04:00
600697513e when using toggle-editor-and-mixer, if current tab is neither, go to mixer first.
This makes using Alt-m (the default binding) feel a lot more sensible
2016-07-12 09:42:34 -04:00
2afaa51717 remove pointless version of Stripable::set_presentation_order() 2016-07-12 09:20:50 -04:00
c49ac91b01 add mouse interaction to inline display 2016-07-12 14:38:28 +02:00
3c99ab0fb9 more compact generic knob-ui layout 2016-07-12 04:02:33 +02:00
10d11e0544 add _FrnchFrgg_ to credits 2016-07-11 18:57:04 +02:00
2f535e3410 fix OSX compilation (flat namespace)
reference to 'Rect' is ambiguous
..../CarbonCore.framework/Headers/MacTypes.h defines
typedef struct Rect
2016-07-11 13:42:42 +02:00
1a59019d33 tweak generic plugin knob-widgets
remove label, use tooltip (saves space, more compact layout)
2016-07-11 03:46:33 +02:00
d43d220f1f extend ArdourKnob ToolTips
allow to set/change tooltip-prefix and set a "printer" in preparation
for properly using the Knob in Plugin UIs
2016-07-11 03:45:13 +02:00
nick_m
b8a7ee001b Fix potential infinite loop in TempoCurve::set_position()
- it was previously possible for frame_step to be zero for tempo sections with
	  a short duration, resulting in endlessly adding 0 to current_frame.
2016-07-11 03:53:36 +10:00
7745a37394 NO-OP whitespace 2016-07-10 15:59:50 +02:00
140258d8ab remove reference "const int32_t&" -> const int32_t"
this simplifies lua-bindings and also let's the compiler worry about
constant primitive types.
2016-07-10 15:30:41 +02:00
8ff46aa9c6 re-layout import dialog (better fit for narrow screens)
The instrument dropdown can be very wide (depending on available synths)
and combined with other dropdowns and the copy-checkbox in a single row,
the min. width was well above 1400px.
2016-07-10 14:08:24 +02:00
9389ee1e96 Better heuristics for guessing the primary type of an input or output
In order to choose which port name to display (if any) in the button,
MixerStrip::update_io_button() first chose a primary type for the input
or output. It was AUDIO in all cases, except if the route was a
MidiTrack where the primary type was MIDI.

In the latter case, it enabled the following code of update_io_button()
to show the MIDI sources feeding the MidiTrack rather than showing an
unhelpful dash.

But this simple heuristic has several shortcommings:
 - Going further, tracks and busses will probably loose strong types so
   the approach is not future-proof;
 - It doesn't take midi busses into account, yet there is no reason for
   them to be handled differently than midi tracks;
 - It falls short when the midi track contains a synthesiser and is
   meant to output audio.

Improve the heuristics by choosing the data type as follows:
 A) If there are connected audio ports, consider audio as primary type.
 B) Else, if there are connected midi ports, consider midi as primary type.
 C) If there are audio ports, consider audio as primary type.
 D) Else, if there are midi ports, consider midi as primary type.

These new heuristics give the same results for audio tracks and busses
(whose audio inputs have not been removed), and the same result for the
input of midi tracks (again, provided the inputs have not been tampered
with). It improves the situation for inputs of midi busses, and output
of midi tracks and busses, especially when synthesisers are in use.
2016-07-09 21:08:16 +02:00
35b4cb91d2 update_io_button: store input() or output() in a variable
This avoids repeating "if (for_input)" checks.
2016-07-09 21:08:16 +02:00
nick_m
0e2ed90cfc Revert incorrect 'optimisation' from 4f7a4cd233.
- fixes regression in stacked layering display.
2016-07-10 02:18:38 +10:00
nick_m
23da9acf7e Minimise duplicate calls to CairoWidget::set_dirty() in the editor summary.
- many regions may be changed by one operation.
2016-07-10 02:18:38 +10:00
nick_m
a44c8b96ae Edit note dialog fixes.
- position display is session-relative

	- Add missing undo to note edit.
2016-07-10 02:18:38 +10:00
nick_m
5f0ab71989 Midi note resizing uses exact beat. 2016-07-10 02:18:38 +10:00
nick_m
11f002ddc4 Use exact beat when adding midi notes. 2016-07-10 02:18:38 +10:00
nick_m
99653ae2ca Simplify Editor::mouse_add_new_meter_event() a bit. 2016-07-10 02:18:38 +10:00
nick_m
0bdbe56cf1 Stop passing references to things that may disappear when a metric section is replaced. 2016-07-10 02:18:37 +10:00
nick_m
39b70ceced Check meter/tempo section exists in copy drag. 2016-07-10 02:18:37 +10:00
nick_m
180445c18c Indicate meter frame even when adding a music-locked meter from the gui. 2016-07-10 02:18:37 +10:00
nick_m
3ee7972069 AudioRegionView - don't do coverage frames unless we're in stacked mode. 2016-07-10 02:18:37 +10:00
nick_m
f65c592567 Editor region list only updates columns that have changed, 2016-07-10 02:18:37 +10:00
nick_m
89ea747943 Make bbt ruler visible in default session. 2016-07-10 02:18:37 +10:00
nick_m
9603233a68 Fix note trimming over tempo changes, correct note length properly when resizing midi region. 2016-07-10 02:18:37 +10:00