Robin Gareus [Mon, 22 Aug 2016 12:47:19 +0000 (14:47 +0200)]
Parse information from harvid independent from the locale
This fixes a crash where aspect ratio "0.5" from harvid was interpreted
as "0" in the French locale (expecting 0,5).
Note: harvid uses a portable, not localized snprintf() implementation
Paul Davis [Mon, 22 Aug 2016 12:40:12 +0000 (08:40 -0400)]
factor out "new route insertion point" enums so they can be shared by relevant dialogs
Paul Davis [Mon, 22 Aug 2016 01:44:33 +0000 (21:44 -0400)]
remove debug output from last commit
Paul Davis [Mon, 22 Aug 2016 01:41:57 +0000 (21:41 -0400)]
editing plugin with generic GUI has a tooltip saying it uses the primary modifier. Make it so
Robin Gareus [Mon, 22 Aug 2016 01:26:14 +0000 (03:26 +0200)]
pong on the major scale (and fix a typo)
Julien "_FrnchFrgg_" RIVAUD [Sun, 21 Aug 2016 23:57:20 +0000 (01:57 +0200)]
Repeat INSENSITIVE colors instead of relying on inheritance
Since inheritance doesn't seem to work on some systems, though it worked
on mine.
Len Ovens [Sun, 21 Aug 2016 23:31:22 +0000 (16:31 -0700)]
OSC: populate check boxes with default settings at session start
Len Ovens [Sun, 21 Aug 2016 21:15:54 +0000 (14:15 -0700)]
OSC: set global variables in global space - crash fix
Robin Gareus [Sun, 21 Aug 2016 20:58:52 +0000 (22:58 +0200)]
remove close buttons from Bundle Manager (rely on WM provided button)
Robin Gareus [Sun, 21 Aug 2016 20:58:01 +0000 (22:58 +0200)]
even more consistent labels in the mundle manager
Robin Gareus [Sun, 21 Aug 2016 20:57:18 +0000 (22:57 +0200)]
more musical pong. uhm ping.
Robin Gareus [Sun, 21 Aug 2016 20:08:54 +0000 (22:08 +0200)]
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()
Len Ovens [Sun, 21 Aug 2016 20:25:11 +0000 (13:25 -0700)]
OSC GUI: Add Strip types and feedback check boxes
Robin Gareus [Sun, 21 Aug 2016 17:12:16 +0000 (19:12 +0200)]
Resolve Bundle Manager Input/Output label ambiguity
Robin Gareus [Sun, 21 Aug 2016 15:43:24 +0000 (17:43 +0200)]
NO-OP: more source code comments
Julien "_FrnchFrgg_" RIVAUD [Sun, 21 Aug 2016 09:51:54 +0000 (11:51 +0200)]
Merge set_pango_fontsize() into reset_dpi()
… since reset_dpi() is the only caller.
Julien "_FrnchFrgg_" RIVAUD [Sun, 21 Aug 2016 08:51:47 +0000 (10:51 +0200)]
Silence a GCC initialization order warning
Robin Gareus [Sun, 21 Aug 2016 10:34:15 +0000 (12:34 +0200)]
refurbish a-pong
* add code comments
* support no-inplace audio processing
* display score
* add re-init & difficulty settings
Robin Gareus [Sat, 20 Aug 2016 23:36:50 +0000 (01:36 +0200)]
clean up a-pong
Robin Gareus [Sat, 20 Aug 2016 22:41:49 +0000 (00:41 +0200)]
Exclude dev/example Lua scripts from packages
Robin Gareus [Sat, 20 Aug 2016 22:23:55 +0000 (00:23 +0200)]
showcase
Robin Gareus [Fri, 19 Aug 2016 19:31:38 +0000 (21:31 +0200)]
Lua bind MonitorProcessor
Julien "_FrnchFrgg_" RIVAUD [Sat, 20 Aug 2016 16:32:37 +0000 (18:32 +0200)]
Avoid jitter of track headers width when changing automation states
Julien "_FrnchFrgg_" RIVAUD [Sat, 20 Aug 2016 16:12:49 +0000 (18:12 +0200)]
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.
Julien "_FrnchFrgg_" RIVAUD [Sat, 20 Aug 2016 16:11:55 +0000 (18:11 +0200)]
Do not constrain vertical size without need
A value of -1 means "let the widget use its natural size in that
direction".
Julien "_FrnchFrgg_" RIVAUD [Sat, 20 Aug 2016 16:11:13 +0000 (18:11 +0200)]
Use ArdourButton::Square mode instead of ad-hoc sizing
Julien "_FrnchFrgg_" RIVAUD [Sat, 20 Aug 2016 14:05:18 +0000 (16:05 +0200)]
Use set_sizing_text in generic plugin ui
Julien "_FrnchFrgg_" RIVAUD [Sat, 20 Aug 2016 14:01:15 +0000 (16:01 +0200)]
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).
Julien "_FrnchFrgg_" RIVAUD [Sat, 20 Aug 2016 13:46:41 +0000 (15:46 +0200)]
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).
Julien "_FrnchFrgg_" RIVAUD [Fri, 19 Aug 2016 22:25:22 +0000 (00:25 +0200)]
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.
Len Ovens [Fri, 19 Aug 2016 21:22:55 +0000 (14:22 -0700)]
OSC: Add setup to GUI
Robin Gareus [Fri, 19 Aug 2016 20:38:10 +0000 (22:38 +0200)]
fix optimized build compilation
nick_m [Fri, 19 Aug 2016 19:41:12 +0000 (05:41 +1000)]
Amend last commit - remove some code.
nick_m [Fri, 19 Aug 2016 18:36:52 +0000 (04:36 +1000)]
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.
nick_m [Fri, 19 Aug 2016 18:33:51 +0000 (04:33 +1000)]
Add a colour for music-locked meters.
Paul Davis [Fri, 19 Aug 2016 17:19:23 +0000 (13:19 -0400)]
fix missing API for no-app-nap when building on OS X < 10.9
nick_m [Fri, 19 Aug 2016 15:58:56 +0000 (01:58 +1000)]
Revert last commit (
269a08a2b1).
nick_m [Fri, 19 Aug 2016 15:46:04 +0000 (01:46 +1000)]
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.
nick_m [Fri, 19 Aug 2016 15:34:53 +0000 (01:34 +1000)]
Extending an empty selection selects the clicked region.
- fixes a crash where the first operation on loading a session
is a constrained drag
Robin Gareus [Fri, 19 Aug 2016 15:21:51 +0000 (17:21 +0200)]
and another typo gone in in
9702020
Paul Davis [Fri, 19 Aug 2016 15:12:05 +0000 (11:12 -0400)]
add code to disable AppNap on OS X/MacOS
Should build on versions before 10.9 and run everywhere due to respondsToSelector check.
Robin Gareus [Fri, 19 Aug 2016 14:23:32 +0000 (16:23 +0200)]
Julien "_FrnchFrgg_" RIVAUD [Fri, 19 Aug 2016 13:49:24 +0000 (15:49 +0200)]
Remove unused lines in clearlooks.rc.in
Paul Davis [Fri, 19 Aug 2016 13:40:07 +0000 (09:40 -0400)]
ad rest of Stripable API to lua
John Emmas [Fri, 19 Aug 2016 11:56:34 +0000 (12:56 +0100)]
Move 'round()' / 'trunc()' etc so that they won't conflict with any versions already available in MSVC
John Emmas [Fri, 19 Aug 2016 09:21:26 +0000 (10:21 +0100)]
For MSVC, 'using namespace whatever' doesn't help us to differentiate between ambiguous type names
so... given that 'Rectangle' is a type name that's commonly found in several different namespaces, we'll need to specify explicitly which one we want.
John Emmas [Fri, 19 Aug 2016 09:19:32 +0000 (10:19 +0100)]
'roundf()' wasn't introduced in MSVC until VS2013 - so for the time being, let's emulate it using 'floorf()'
Julien "_FrnchFrgg_" RIVAUD [Fri, 19 Aug 2016 12:41:36 +0000 (14:41 +0200)]
Avoid CamelCase in color names
Robin Gareus [Fri, 19 Aug 2016 12:38:22 +0000 (14:38 +0200)]
handle edge-case where jack-meta-data may be NULL, but the call succeeds
this fixes #6968
Paul Davis [Fri, 19 Aug 2016 12:32:28 +0000 (08:32 -0400)]
fix failure to remove keyvalue from Keyboard::state on key release
Paul Davis [Thu, 18 Aug 2016 16:35:15 +0000 (12:35 -0400)]
MIDI polyphonic pressure, part 2
Paul Davis [Thu, 18 Aug 2016 13:44:20 +0000 (09:44 -0400)]
attempt to handle poly-pressure (polyphonic aftertouch) similarly to other MIDI messages
Len Ovens [Fri, 19 Aug 2016 02:16:53 +0000 (19:16 -0700)]
OSC:: needs the .h file too...
Len Ovens [Fri, 19 Aug 2016 02:15:57 +0000 (19:15 -0700)]
OSC: make remote port setting possible, add default surface variables
Robin Gareus [Fri, 19 Aug 2016 01:31:20 +0000 (03:31 +0200)]
initialize uninitialized variable
Robin Gareus [Fri, 19 Aug 2016 01:31:08 +0000 (03:31 +0200)]
Update automated Plugin Controlls when seeking and not rolling
Julien "_FrnchFrgg_" RIVAUD [Fri, 19 Aug 2016 00:48:39 +0000 (02:48 +0200)]
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.
Julien "_FrnchFrgg_" RIVAUD [Thu, 18 Aug 2016 22:12:48 +0000 (00:12 +0200)]
Remove unused space in gain_meter's automation menu
Robin Gareus [Thu, 18 Aug 2016 23:14:21 +0000 (01:14 +0200)]
fix Aux-Send Panner Linking
Robin Gareus [Thu, 18 Aug 2016 17:49:16 +0000 (19:49 +0200)]
fix SNAFU in track-properties script
Julien "_FrnchFrgg_" RIVAUD [Thu, 18 Aug 2016 14:32:38 +0000 (16:32 +0200)]
Add missing return
Julien "_FrnchFrgg_" RIVAUD [Thu, 18 Aug 2016 14:09:50 +0000 (16:09 +0200)]
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.
Paul Davis [Thu, 18 Aug 2016 12:16:22 +0000 (08:16 -0400)]
don't show empty time axis view context menus
Julien "_FrnchFrgg_" RIVAUD [Thu, 18 Aug 2016 08:42:43 +0000 (10:42 +0200)]
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.
Julien "_FrnchFrgg_" RIVAUD [Thu, 18 Aug 2016 08:42:43 +0000 (10:42 +0200)]
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.
Julien "_FrnchFrgg_" RIVAUD [Thu, 18 Aug 2016 08:42:43 +0000 (10:42 +0200)]
Make in/out buttons behave more like Gtk::MenuToolButton
Make them popup their menu as if attached rather than as a context menu.
Paul Davis [Thu, 18 Aug 2016 03:13:49 +0000 (23:13 -0400)]
removed commented code, now that the comment is actually correct
Paul Davis [Thu, 18 Aug 2016 03:09:33 +0000 (23:09 -0400)]
fix hard/impossible trimming situation
Paul Davis [Wed, 17 Aug 2016 23:22:15 +0000 (19:22 -0400)]
GUI does an even stronger check on no undo/redo while recording
Paul Davis [Wed, 17 Aug 2016 23:21:45 +0000 (19:21 -0400)]
do not allow undo/redo while actively recording
Julien "_FrnchFrgg_" RIVAUD [Wed, 17 Aug 2016 21:37:17 +0000 (23:37 +0200)]
Use a real dropdown for AutoState in automation lanes
Julien "_FrnchFrgg_" RIVAUD [Wed, 17 Aug 2016 19:14:47 +0000 (21:14 +0200)]
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.
nick_m [Wed, 17 Aug 2016 19:42:30 +0000 (05:42 +1000)]
Report quarter note rather than beat position to AU plugins.
nick_m [Wed, 17 Aug 2016 19:39:44 +0000 (05:39 +1000)]
Use quarter pulses (quarter notes) for VST's ppqBar, ppqPos and cycleStart/EndPos.
nick_m [Wed, 17 Aug 2016 19:36:24 +0000 (05:36 +1000)]
Add methods for plugin APIs to obtsin quarter pulses ('beats' for AU) from the tempo map.
Robin Gareus [Wed, 17 Aug 2016 18:30:20 +0000 (20:30 +0200)]
add some track properties example script
Len Ovens [Wed, 17 Aug 2016 15:24:57 +0000 (08:24 -0700)]
OSC: Add value feedback to strip fader and trim
Robin Gareus [Wed, 17 Aug 2016 15:17:00 +0000 (17:17 +0200)]
fix ramped BPM reporting to AU and VST plugins
Robin Gareus [Wed, 17 Aug 2016 15:03:06 +0000 (17:03 +0200)]
upcoming codenames
Robin Gareus [Wed, 17 Aug 2016 15:02:56 +0000 (17:02 +0200)]
fix LV2 BPM report (use ramped tempo)
Damien Zammit [Wed, 17 Aug 2016 14:39:54 +0000 (00:39 +1000)]
a-Reverb: Fixed bug with the reverb all pass filters causing bad sound
Julien "_FrnchFrgg_" RIVAUD [Wed, 17 Aug 2016 12:30:28 +0000 (14:30 +0200)]
Make MixerStrip's automation menu behave like a dropdown
Julien "_FrnchFrgg_" RIVAUD [Wed, 17 Aug 2016 00:04:27 +0000 (02:04 +0200)]
These are not the scripts you're looking for
Julien "_FrnchFrgg_" RIVAUD [Tue, 16 Aug 2016 01:05:43 +0000 (03:05 +0200)]
Make the group button in MixerStrip behave like a dropdown
Since it mostly is a multiple-choice menu.
Julien "_FrnchFrgg_" RIVAUD [Tue, 16 Aug 2016 23:38:19 +0000 (01:38 +0200)]
Fix anchored popups with separators in them
The code computing the position of the popup menu used to compare the
given string to each MenuItem::get_label() result, but that method
actually replaces the content (child) of the MenuItem if that child is
not already a Gtk::Label. In particular, this breaks menu separators.
Avoid the issue by checking by hand if the only child of the MenuItem is
a Label, and directly compare the label text.
Julien "_FrnchFrgg_" RIVAUD [Mon, 15 Aug 2016 23:57:58 +0000 (01:57 +0200)]
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.
Paul Davis [Tue, 16 Aug 2016 17:56:53 +0000 (13:56 -0400)]
fix issue with WM close/delete ("X") button not working for window proxied dialogs (e.g. add route dialog)
Robin Gareus [Tue, 16 Aug 2016 11:11:49 +0000 (13:11 +0200)]
Also send lv2:timePosition whenever BBT or Tempo changes
This mostly fixes an issue with notifying plugins about tempo-ramps
and BPM changes.
remaining to be fixed (in tempo.h):
```
_session.tempo_map().metric_at(frame_position).tempo().beats_per_minute()
```
currently returns the most recent *fixed* tempo at or before
`frame_position`. All other Plugin types are affected by this as well.
Robin Gareus [Mon, 15 Aug 2016 23:01:36 +0000 (01:01 +0200)]
fix copy/paste typo in
bc0bb6cae
Robin Gareus [Mon, 15 Aug 2016 22:22:49 +0000 (00:22 +0200)]
turn comments into doxygen doc
Robin Gareus [Mon, 15 Aug 2016 22:21:59 +0000 (00:21 +0200)]
extend lua-doc to show properties
Robin Gareus [Mon, 15 Aug 2016 22:20:36 +0000 (00:20 +0200)]
add some missing enum bindings (for config variables)
Robin Gareus [Mon, 15 Aug 2016 20:18:23 +0000 (22:18 +0200)]
allow for whitespace in XDG_DESKTOP_DIR
This allows for example "Área de Trabalho"
Robin Gareus [Mon, 15 Aug 2016 20:16:08 +0000 (22:16 +0200)]
expose SessionConfiguration as lua bindings
Robin Gareus [Mon, 15 Aug 2016 20:13:29 +0000 (22:13 +0200)]
Re-enable luabridge addProperty()
In preparation to expose ARDOUR::SessionConfiguration.
Also change the return-type to bool to match Ardour's set/get API
Paul Davis [Mon, 15 Aug 2016 15:20:17 +0000 (11:20 -0400)]
allow constrained-drag of MIDI notes to work
nick_m [Mon, 15 Aug 2016 14:56:08 +0000 (00:56 +1000)]
Add missing line feed in midi_region_view.cc
nick_m [Mon, 15 Aug 2016 14:52:18 +0000 (00:52 +1000)]
Midi region ghost note uses beat-based note time calculation.
nick_m [Mon, 15 Aug 2016 14:48:54 +0000 (00:48 +1000)]
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.
nick_m [Mon, 15 Aug 2016 14:43:08 +0000 (00:43 +1000)]
Enforce rounding to beat as >= 0.0