ardour.git
7 years agoonly reconfigure lua DSP plugins if channelcount changes
Robin Gareus [Sat, 2 Jul 2016 18:29:59 +0000 (20:29 +0200)]
only reconfigure lua DSP plugins if channelcount changes

7 years agoadd Lua bindings for reference counted Cairo::ImageSurface
Robin Gareus [Sat, 2 Jul 2016 16:20:44 +0000 (18:20 +0200)]
add Lua bindings for reference counted Cairo::ImageSurface

7 years agofix Preference checkbox sensitivity for inline displays
Robin Gareus [Sat, 2 Jul 2016 16:19:49 +0000 (18:19 +0200)]
fix Preference checkbox sensitivity for inline displays

7 years agofix inline display when cairo_surface_has_snapshots
Robin Gareus [Sat, 2 Jul 2016 16:19:16 +0000 (18:19 +0200)]
fix inline display when cairo_surface_has_snapshots

7 years agoextend lua API:
Robin Gareus [Sat, 2 Jul 2016 21:35:00 +0000 (23:35 +0200)]
extend lua API:

* add a basic FFT spectrum analyzer
* prepare Cairo::ImageSurface
* HSL colorspace conversion

7 years agomake Selection catch up with session/libardour-side selection status at session load
Paul Davis [Sat, 2 Jul 2016 20:09:19 +0000 (16:09 -0400)]
make Selection catch up with session/libardour-side selection status at session load

7 years agofix use of removed Session::get_nth_stripable()
Paul Davis [Sat, 2 Jul 2016 20:08:58 +0000 (16:08 -0400)]
fix use of removed Session::get_nth_stripable()

7 years agoremove Session::get_nth_stripable.cc
Paul Davis [Sat, 2 Jul 2016 20:08:38 +0000 (16:08 -0400)]
remove Session::get_nth_stripable.cc

7 years agomore hacks to gkt rc file to get text entries to behave
Paul Davis [Sat, 2 Jul 2016 17:54:16 +0000 (13:54 -0400)]
more hacks to gkt rc file to get text entries to behave

7 years agono need for a widget name here
Paul Davis [Sat, 2 Jul 2016 17:53:30 +0000 (13:53 -0400)]
no need for a widget name here

7 years agopartially revert incorrect changes to gain meter text entries/displays
Paul Davis [Sat, 2 Jul 2016 17:53:18 +0000 (13:53 -0400)]
partially revert incorrect changes to gain meter text entries/displays

7 years agofix missing logic for RouteGroupMenu
Paul Davis [Sat, 2 Jul 2016 15:04:51 +0000 (11:04 -0400)]
fix missing logic for RouteGroupMenu

7 years agoOSC: Account for some select edge cases
Len Ovens [Sat, 2 Jul 2016 04:21:08 +0000 (21:21 -0700)]
OSC: Account for some select edge cases

7 years agoOSC: make sure out of bank strip can not be converted to a stripable.
Len Ovens [Sat, 2 Jul 2016 01:31:13 +0000 (18:31 -0700)]
OSC: make sure out of bank strip can not be converted to a stripable.

7 years agoOSC: Don't look for which stripable is selected until we actually need it, It may...
Len Ovens [Sat, 2 Jul 2016 01:12:31 +0000 (18:12 -0700)]
OSC: Don't look for which stripable is selected until we actually need it, It may be wrong at application start.

7 years agoOSC: Change all time feedback to /position/<type>
Len Ovens [Sat, 2 Jul 2016 00:28:08 +0000 (17:28 -0700)]
OSC: Change all time feedback to /position/<type>

7 years agouse correct property when PresentationInfo::color is set from XML
Paul Davis [Fri, 1 Jul 2016 22:14:21 +0000 (18:14 -0400)]
use correct property when PresentationInfo::color is set from XML

7 years agoremove commented code
Paul Davis [Fri, 1 Jul 2016 22:03:48 +0000 (18:03 -0400)]
remove commented code

7 years agofix logic of RouteUI::set_color_from_route()
Paul Davis [Fri, 1 Jul 2016 22:03:29 +0000 (18:03 -0400)]
fix logic of RouteUI::set_color_from_route()

7 years agofix logic of PresentationInfo::color_set()
Paul Davis [Fri, 1 Jul 2016 22:02:42 +0000 (18:02 -0400)]
fix logic of PresentationInfo::color_set()

7 years agoremove gtk_entry_* colors from themes except for cursor color
Paul Davis [Fri, 1 Jul 2016 21:48:46 +0000 (17:48 -0400)]
remove gtk_entry_* colors from themes except for cursor color

7 years agoMotionFeedback vanished long ago
Paul Davis [Fri, 1 Jul 2016 21:46:56 +0000 (17:46 -0400)]
MotionFeedback vanished long ago

7 years agodrop use of gtk_entry_* colors (except cursor); use original base/text choices but...
Paul Davis [Fri, 1 Jul 2016 21:46:24 +0000 (17:46 -0400)]
drop use of gtk_entry_* colors (except cursor); use original base/text choices but avoid using selected for entire bg

7 years agoadd the potential for a bit more debugging of signal connects
Paul Davis [Fri, 1 Jul 2016 20:36:02 +0000 (16:36 -0400)]
add the potential for a bit more debugging of signal connects

7 years agoadd the potential for a bit more debugging of signal connects
Paul Davis [Fri, 1 Jul 2016 20:35:46 +0000 (16:35 -0400)]
add the potential for a bit more debugging of signal connects

7 years agominor no-op hacks (unneeded or suboptimal code)
Paul Davis [Fri, 1 Jul 2016 11:09:27 +0000 (07:09 -0400)]
minor no-op hacks (unneeded or suboptimal code)

7 years agofix jack_port_rename() detection
Robin Gareus [Fri, 1 Jul 2016 17:08:52 +0000 (19:08 +0200)]
fix jack_port_rename() detection

7 years agosome debug message for lua processors
Robin Gareus [Fri, 1 Jul 2016 14:01:33 +0000 (16:01 +0200)]
some debug message for lua processors

7 years agofix lua filters for multi-channels processing
Robin Gareus [Fri, 1 Jul 2016 14:01:19 +0000 (16:01 +0200)]
fix lua filters for multi-channels processing

7 years agoadd (essentially random) color defs for text entries to other 3rd party themes
Paul Davis [Thu, 30 Jun 2016 21:42:48 +0000 (17:42 -0400)]
add (essentially random) color defs for text entries to other 3rd party themes

7 years agoNO-OP: remove trailing whitespace
Paul Davis [Thu, 30 Jun 2016 21:41:02 +0000 (17:41 -0400)]
NO-OP: remove trailing whitespace

7 years agoassign appropriate styles for text entry and spinbuttons
Paul Davis [Thu, 30 Jun 2016 21:40:47 +0000 (17:40 -0400)]
assign appropriate styles for text entry and spinbuttons

SpinButtons do odd things to draw the two arrow buttons. So for now, leave them with the default theme,
even though this makes their text entry component different from the other text entry widgets

7 years agoremove non-zero xthickness from "small_entry" widgets (gain display, peak display...
Paul Davis [Thu, 30 Jun 2016 21:39:25 +0000 (17:39 -0400)]
remove non-zero xthickness from "small_entry" widgets (gain display, peak display in mixer strip).

Unnecessary and wrong once you can see the border in a different color from the base

7 years agonew style for Gtk::Entry widgets
Paul Davis [Thu, 30 Jun 2016 21:38:20 +0000 (17:38 -0400)]
new style for Gtk::Entry widgets

More legibility and easier to figure out what colors are used for what

7 years agouse a more appropriate @color name for the cursor color in a text entry
Paul Davis [Thu, 30 Jun 2016 21:36:55 +0000 (17:36 -0400)]
use a more appropriate @color name for the cursor color in a text entry

7 years agoadd text entry cursor color to dark theme
Paul Davis [Thu, 30 Jun 2016 21:36:09 +0000 (17:36 -0400)]
add text entry cursor color to dark theme

7 years agoadd new colors to dark theme
Paul Davis [Thu, 30 Jun 2016 21:26:09 +0000 (17:26 -0400)]
add new colors to dark theme

7 years agono reason to make floating text entry be in STATE_SELECTED when constructed
Paul Davis [Thu, 30 Jun 2016 21:25:52 +0000 (17:25 -0400)]
no reason to make floating text entry be in STATE_SELECTED when constructed

7 years agouse initialization, not explicit assignment
Paul Davis [Thu, 30 Jun 2016 21:25:30 +0000 (17:25 -0400)]
use initialization, not explicit assignment

7 years agoOSC: Select tweak.
Len Ovens [Thu, 30 Jun 2016 02:57:13 +0000 (19:57 -0700)]
OSC: Select tweak.

7 years agoOSC: Reworked select to follow Gui selected strip regardless of it's inclusion in...
Len Ovens [Thu, 30 Jun 2016 02:38:17 +0000 (19:38 -0700)]
OSC: Reworked select to follow Gui selected strip regardless of it's inclusion in bank

7 years agoRevert "remove unnecessary duplicate loading of GTK RC file"
Paul Davis [Wed, 29 Jun 2016 21:38:40 +0000 (17:38 -0400)]
Revert "remove unnecessary duplicate loading of GTK RC file"

This reverts commit 694d805bb0dd7531a58caa7cf617b8ea117e7588.

7 years agofix color file install paths
Paul Davis [Wed, 29 Jun 2016 19:17:05 +0000 (15:17 -0400)]
fix color file install paths

We are supposed to remove the application name after copying

7 years agofix color file install paths
Paul Davis [Wed, 29 Jun 2016 19:16:21 +0000 (15:16 -0400)]
fix color file install paths

We are supposed to remove the application name after copying

7 years agofix cursor set path during linux build
Paul Davis [Wed, 29 Jun 2016 19:15:57 +0000 (15:15 -0400)]
fix cursor set path during linux build

7 years agoconsistent mixer sidebar layout (group, tracks show/hide)
Robin Gareus [Wed, 29 Jun 2016 15:26:51 +0000 (17:26 +0200)]
consistent mixer sidebar layout (group, tracks  show/hide)

 * move checkbox to the left (unaffected by scrollbars)
 * use same expand & sizing strategy for both

7 years agoremove unnecessary duplicate loading of GTK RC file
Paul Davis [Wed, 29 Jun 2016 05:23:12 +0000 (01:23 -0400)]
remove unnecessary duplicate loading of GTK RC file

7 years agoremove debug output and add a few suggestive comments
Paul Davis [Tue, 28 Jun 2016 20:05:35 +0000 (16:05 -0400)]
remove debug output and add a few suggestive comments

7 years agochanges in logic used by source cleanup to avoid endless recursion in sessions with...
Paul Davis [Tue, 28 Jun 2016 19:05:48 +0000 (15:05 -0400)]
changes in logic used by source cleanup to avoid endless recursion in sessions with deeply nested/recursive compound regions.

This also fixes some potentially dangerous cleanup logic related to two sources with the same name (but different paths)

7 years agoignore automation for non-automatables.
Robin Gareus [Tue, 28 Jun 2016 16:43:31 +0000 (18:43 +0200)]
ignore automation for non-automatables.

Since 4.7-1477-g2c6d595 Ardour implements Control::NotAutomatable.
This can lead to situations where automation exists for parameters that
were not supposed to be automatable, which in turn caused a
"programming-error" abort() in
RouteTimeAxisView::add_processor_automation_curve()

7 years agosome more translation fixes
Robin Gareus [Tue, 28 Jun 2016 10:53:18 +0000 (12:53 +0200)]
some more translation fixes

7 years agofix german translation
Robin Gareus [Tue, 28 Jun 2016 10:46:34 +0000 (12:46 +0200)]
fix german translation

'msgid' and 'msgstr' entries do not both end with '\n'

7 years agotweak b7e645ec6, use session start/end position
Robin Gareus [Mon, 27 Jun 2016 22:17:46 +0000 (00:17 +0200)]
tweak b7e645ec6, use session start/end position

7 years agoquick prototype to allow changing *all* gain automation
Robin Gareus [Mon, 27 Jun 2016 22:09:00 +0000 (00:09 +0200)]
quick prototype to allow changing *all* gain automation

7 years agoswitching to "touch" implies existing automation.
Robin Gareus [Mon, 27 Jun 2016 17:04:38 +0000 (19:04 +0200)]
switching to "touch" implies existing automation.

This fixes an issue of Fader jumping to unity when switching from
manual to touch if there is no prior automation.
Likewise for plugin parameters jumping to "default"

7 years agoadd a debug mode (in synth) to track down lost note-on
Robin Gareus [Sun, 26 Jun 2016 15:15:46 +0000 (17:15 +0200)]
add a debug mode (in synth) to track down lost note-on

7 years agoBSD portability
Robin Gareus [Sun, 26 Jun 2016 14:44:45 +0000 (16:44 +0200)]
BSD portability

Adopted from Michael Beer -- GH pull-request #232

7 years agoEnable build for FreeBSD (part 1/2)
Robin Gareus [Sun, 26 Jun 2016 14:43:07 +0000 (16:43 +0200)]
Enable build for FreeBSD (part 1/2)

Adopted from Michael Beer -- GH pull-request #232 with minor changes:

*   rebased on master,
*   removed trailing whitespace,
*   don't explicitly change saved configuration defaults (wscript)
*   moved sys/wait (WNOHANG) to header include
*   separate changes in GUI and lib

7 years agoUse correct type of std::map::count
Sam Thursfield [Sat, 11 Jun 2016 13:24:03 +0000 (14:24 +0100)]
Use correct type of std::map::count

Compiling Ardour commit ec8a4de01596c162c1529f3021dfc432bf66dfe8 with GCC
6.1.1 (on Fedora 24) gave this build failure:

    In file included from /home/sam/ardour/libs/lua/LuaBridge/LuaBridge.h:154:0,
                     from ../tools/luadevel/devel.cc:16:
    /home/sam/ardour/libs/lua/LuaBridge/detail/Namespace.h: In instantiation of ‘luabridge::Namespace::Class<std::map<K, V> > luabridge::Namespace::beginStdMap(const char*) [with K = std::__cxx11::basic_string<char>; V = std::__cxx11::basic_string<char>]’:
    ../tools/luadevel/devel.cc:89:60:   required from here
    /home/sam/ardour/libs/lua/LuaBridge/detail/Namespace.h:1666:30: error: no matches converting function ‘count’ to type ‘void (class std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, std::less<std::__cxx11::basic_string<char> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > > >::*)()’
           .addFunction ("count", (void (LT::*)())&LT::count)
                                  ^~~~~~~~~~~~~~~~~~~
    In file included from /usr/include/c++/6.1.1/map:61:0,
                     from /home/sam/ardour/libs/lua/LuaBridge/LuaBridge.h:45,
                     from ../tools/luadevel/devel.cc:16:
    /usr/include/c++/6.1.1/bits/stl_map.h:1131:2: note: candidates are: template<class _Kt> decltype (((const std::map<_Key, _Tp, _Compare, _Alloc>*)this)->std::map<_Key, _Tp, _Compare, _Alloc>::_M_t._M_count_tr(__x)) std::map<_Key, _Tp, _Compare, _Alloc>::count(const _Kt&) const [with _Kt = _Kt; _Key = std::__cxx11::basic_string<char>; _Tp = std::__cxx11::basic_string<char>; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >]
      count(const _Kt& __x) const -> decltype(_M_t._M_count_tr(__x))
      ^~~~~
    /usr/include/c++/6.1.1/bits/stl_map.h:1125:7: note:                 std::map<_Key, _Tp, _Compare, _Alloc>::size_type std::map<_Key, _Tp, _Compare, _Alloc>::count(const key_type&) const [with _Key = std::__cxx11::basic_string<char>; _Tp = std::__cxx11::basic_string<char>; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >; std::map<_Key, _Tp, _Compare, _Alloc>::size_type = long unsigned int; std::map<_Key, _Tp, _Compare, _Alloc>::key_type = std::__cxx11::basic_string<char>]
           count(const key_type& __x) const
           ^~~~~

Casting std::map::count to the correct type instead of a fake void()
type fixes the compile failure.

7 years agofix uninstaller for variants (Mixbus32C vs Mixbus)
Robin Gareus [Sat, 25 Jun 2016 17:56:34 +0000 (19:56 +0200)]
fix uninstaller for variants (Mixbus32C vs Mixbus)

7 years agofix typo
Robin Gareus [Sat, 25 Jun 2016 16:54:11 +0000 (18:54 +0200)]
fix typo

7 years agofix typos in prev commit
Robin Gareus [Sat, 25 Jun 2016 01:47:38 +0000 (03:47 +0200)]
fix typos in prev commit

7 years agomajor internal plugin & processor API change:
Robin Gareus [Sat, 25 Jun 2016 00:23:56 +0000 (02:23 +0200)]
major internal plugin & processor API change:

Pass current (latency compensated) cycle times to plugin.
This fixes time-reporting to plugins and also fixes automation
and when bouncing (the session->transport* is not valid) etc.

7 years agofix vamp path:
Robin Gareus [Fri, 24 Jun 2016 22:44:04 +0000 (00:44 +0200)]
fix vamp path:

* append, not replace
* make it work on wine/ardour

7 years agofix KeyEditor::print() for windows (hopefully, untested)
Robin Gareus [Fri, 24 Jun 2016 20:45:03 +0000 (22:45 +0200)]
fix KeyEditor::print() for windows (hopefully, untested)

7 years agoFix counting thinko in tests.
nick_m [Fri, 24 Jun 2016 15:37:48 +0000 (01:37 +1000)]
Fix counting thinko in tests.

- note that the negative framepos in
  FrameposPlusBeatsTest::singleTempoTest() will
  not pass. needs some thougt as to whether it is testing
  the correct thing.

7 years agoIgnore numerals before "+" in tag
Robin Gareus [Fri, 24 Jun 2016 00:34:36 +0000 (02:34 +0200)]
Ignore numerals before "+" in tag

7 years agoWhen building with MSVC, adapt the various font sizes to be a closer match to the...
John Emmas [Thu, 23 Jun 2016 14:20:03 +0000 (15:20 +0100)]
When building with MSVC, adapt the various font sizes to be a closer match to the GCC build

(the smaller fonts can't be an exact match or they end up looking too small).

7 years agofix ampersands in group names in generated binding files
Paul Davis [Thu, 23 Jun 2016 12:37:12 +0000 (08:37 -0400)]
fix ampersands in group names in generated binding files

7 years agoinclude group descriptions when processing keybindings
Paul Davis [Wed, 22 Jun 2016 22:56:35 +0000 (18:56 -0400)]
include group descriptions when processing keybindings

7 years agomore tweaks to HTML output when printing key bindings
Paul Davis [Wed, 22 Jun 2016 22:56:17 +0000 (18:56 -0400)]
more tweaks to HTML output when printing key bindings

7 years agoshow tooltips on favorite plugins -- closes #6902
Robin Gareus [Wed, 22 Jun 2016 22:42:56 +0000 (00:42 +0200)]
show tooltips on favorite plugins -- closes #6902

7 years agoOSC: master/monitor forced to sort at end
Len Ovens [Wed, 22 Jun 2016 21:50:13 +0000 (14:50 -0700)]
OSC: master/monitor forced to sort at end

7 years agoOSC: Fix math off by one, Check for all stripable controls because VCAs have less...
Len Ovens [Wed, 22 Jun 2016 21:10:59 +0000 (14:10 -0700)]
OSC: Fix math off by one, Check for all stripable controls because VCAs have less (crash fix)

7 years agoanother C++98 fix
Robin Gareus [Wed, 22 Jun 2016 17:22:19 +0000 (19:22 +0200)]
another C++98 fix

7 years agofix gcc4 builds C++98
Robin Gareus [Wed, 22 Jun 2016 14:18:07 +0000 (16:18 +0200)]
fix gcc4 builds C++98

Flag is an enum -- not a class nor namespace

7 years agoOSC: Might help if I used the right variable, Really fix select.
Len Ovens [Wed, 22 Jun 2016 03:31:53 +0000 (20:31 -0700)]
OSC: Might help if I used the right variable, Really fix select.

7 years agoOSC: Fix out of range track. (crash)
Len Ovens [Wed, 22 Jun 2016 02:19:07 +0000 (19:19 -0700)]
OSC: Fix out of range track. (crash)

7 years agoOSC: Add strip type selection.
Len Ovens [Wed, 22 Jun 2016 01:47:43 +0000 (18:47 -0700)]
OSC: Add strip type selection.

7 years agofix some more thinkos related to user color file management
Paul Davis [Tue, 21 Jun 2016 23:39:13 +0000 (19:39 -0400)]
fix some more thinkos related to user color file management

7 years agoremove debug output
Paul Davis [Tue, 21 Jun 2016 23:32:50 +0000 (19:32 -0400)]
remove debug output

7 years agoremove old file
Paul Davis [Tue, 21 Jun 2016 23:27:11 +0000 (19:27 -0400)]
remove old file

7 years agorename unastudia theme file to match per-program-name convention
Paul Davis [Tue, 21 Jun 2016 23:26:51 +0000 (19:26 -0400)]
rename unastudia theme file to match per-program-name convention

7 years agofixes for color theme manager's handling of color file choices, notably while running...
Paul Davis [Tue, 21 Jun 2016 23:25:55 +0000 (19:25 -0400)]
fixes for color theme manager's handling of color file choices, notably while running from source tree

7 years agotweaks to how UIConfiguration::color_file_name() operates
Paul Davis [Tue, 21 Jun 2016 23:25:18 +0000 (19:25 -0400)]
tweaks to how UIConfiguration::color_file_name() operates

7 years agofix default color file name in code default definition
Paul Davis [Tue, 21 Jun 2016 23:24:52 +0000 (19:24 -0400)]
fix default color file name in code default definition

7 years agoremove unneeded declaration
Paul Davis [Tue, 21 Jun 2016 23:24:12 +0000 (19:24 -0400)]
remove unneeded declaration

7 years agofix incorrect color file name in default UI config file
Paul Davis [Tue, 21 Jun 2016 23:23:42 +0000 (19:23 -0400)]
fix incorrect color file name in default UI config file

7 years agouse running_from_source_tree()
Paul Davis [Tue, 21 Jun 2016 23:23:30 +0000 (19:23 -0400)]
use running_from_source_tree()

7 years agouse running_from_source_tree()
Paul Davis [Tue, 21 Jun 2016 23:23:01 +0000 (19:23 -0400)]
use running_from_source_tree()

7 years agoprovide ARDOUR_UI_UTILS::running_from_source_tree()
Paul Davis [Tue, 21 Jun 2016 23:22:40 +0000 (19:22 -0400)]
provide ARDOUR_UI_UTILS::running_from_source_tree()

7 years agoalways run amp/trim LPF
Robin Gareus [Tue, 21 Jun 2016 19:58:38 +0000 (21:58 +0200)]
always run amp/trim LPF

This fixes "clicks" when switching fader automation from "manual"
to "play/touch" while the transport is rolling.

7 years agoadd comment button fill color alias for *all* themes
Paul Davis [Tue, 21 Jun 2016 19:01:03 +0000 (15:01 -0400)]
add comment button fill color alias for *all* themes

7 years agoadd tempo curve colors to unastudia theme.
Paul Davis [Tue, 21 Jun 2016 18:59:02 +0000 (14:59 -0400)]
add tempo curve colors to unastudia theme.

Colors need adjusting by a theme owner/maintainer

7 years agoadd shuttle colors to unastudia theme.
Paul Davis [Tue, 21 Jun 2016 18:57:38 +0000 (14:57 -0400)]
add shuttle colors to unastudia theme.

Colors need adjusting by a theme owner/maintainer

7 years agonew "studio one" theme from user straightothebar
Paul Davis [Tue, 21 Jun 2016 17:36:21 +0000 (13:36 -0400)]
new "studio one" theme from user straightothebar

7 years agoshow first word of comment on track's comment-button
Robin Gareus [Tue, 21 Jun 2016 16:18:54 +0000 (18:18 +0200)]
show first word of comment on track's comment-button

7 years agouse new keyboard modifier names, and replace GDK names with better versions
Paul Davis [Tue, 21 Jun 2016 12:59:39 +0000 (08:59 -0400)]
use new keyboard modifier names, and replace GDK names with better versions

7 years agofix section naming in bindings file
Paul Davis [Tue, 21 Jun 2016 12:58:59 +0000 (08:58 -0400)]
fix section naming in bindings file

7 years agoprovide some Keyboard:: methods to get access to other versions of modifier names
Paul Davis [Tue, 21 Jun 2016 12:58:38 +0000 (08:58 -0400)]
provide some Keyboard:: methods to get access to other versions of modifier names