13
0
Commit Graph

103 Commits

Author SHA1 Message Date
606d6de4b1
Consistent Lua script error and print() output 2/2 2020-04-18 18:16:12 +02:00
142ce953da Split Select-All-Tracks into 2 appropriately named actions
Existing function select-all-tracks is now renamed select-all-visible-lanes, to match its behavior.

New function select-all-tracks will select all Tracks, as the name implies.

To maintain consistency for those users who actively used select-all-tracks,
  the default shortcut ctrl+t  will continue calling select-all-visible-lanes.
2020-01-22 10:33:15 -06:00
8112d6472e
Drop references held by any GUI Lua script after execution 2020-01-13 20:25:00 +01:00
7570b9a594
Add Lua bindings for UIConfiguration variables 2020-01-06 01:30:19 +01:00
d226b63e70
Pre-seed Lua action-buttons 2019-12-12 20:53:17 +01:00
1f73668756
New approach for Lua bindings to avoid LuaBridge_API in GUI code
Declare DoubleArray in GUI context so that runtime uses the symbol
from the .exe (not the .dll).

This is mainly for the benefit of MSVC, that does not allow to use
LuaBridge_API in .exe
2019-12-03 17:55:37 +01:00
bfcadff73c
Amend 1caef183 (Windows Lua bindings) 2019-12-03 03:29:35 +01:00
1caef183bf
Fix Windows builds
This fixes a missing symbol error due to the weird way how
Windows maps the same, identical symbols using different addresses
in .dll and .exe.  Here specifically for

int luabridge::CFunc::vectorToArray<double, std::vector<double, std::allocator<double> > >(lua_State*)

which was added in 5e1a73a28c resulting in

gtk2_ardour/luainstance.cc error: explicit instantiation of 'static const void* luabridge::ClassInfo<T>::getStaticKey() [with T = std::vector<double>]' but no definition available [-fpermissive]
gtk2_ardour/luainstance.cc error: explicit instantiation of 'static const void* luabridge::ClassInfo<T>::getClassKey() [with T = std::vector<double>]' but no definition available [-fpermissive]
gtk2_ardour/luainstance.cc error: explicit instantiation of 'static const void* luabridge::ClassInfo<T>::getConstKey() [with T = std::vector<double>]' but no definition available [-fpermissive]
2019-12-03 02:27:44 +01:00
7aaf212a9b
Fix Lua Pangolayout ellipsis width 2019-11-19 04:41:12 +01:00
2d680f3061
Move LuaProgressDialog into "LuaDialog" namespace
Define class in header file
Match C++ and Lua binding namespaces (for documentation)
2019-09-02 15:44:43 +02:00
9e11542828
Add Lua progress dialog 2019-09-02 05:17:55 +02:00
85f8387f54
Lua: allow to build SelectionLists
This partially reverts 4538bcc7 to allow Editor:set_selection()
2019-08-28 18:40:08 +02:00
4538bcc7f4
Add/fix some TimeAxisView Lua bindings 2019-08-24 21:44:27 +02:00
2970ce2f59
Add Lua bindings for Pango Alignment 2019-08-07 17:40:23 +02:00
4050ca5633
Update GPL boilerplate and (C)
Copyright-holder and year information is extracted from git log.

git history begins in 2005. So (C) from 1998..2005 is lost. Also some
(C) assignment of commits where the committer didn't use --author.
2019-08-03 15:53:15 +02:00
728b53fa09
Expose mixer window screenshot method as Lua binding 2019-07-18 01:31:30 +02:00
1173ca8d34
Prefer dedicated c-pointer bindings (can be const) 2019-05-17 12:09:08 +02:00
31815b5f26
NO-OP: whitespace
This fixes mostly <tab> after <space> and similar <tab> not used
for indenting as well as some related code alignment issues.
2019-04-13 17:57:46 +02:00
51df70b405 ActionManager::get_all_actions() no longer includes <Actions> in the paths it returns, part 3 (GUI) 2019-03-20 11:15:47 -07:00
23a98e5f4d remove references to "Editor_menus" which is an action that no longer exists 2019-02-16 13:12:45 -07:00
fc83d044f8 use ActionManager namespace, rather than ActionMap objects, and remove all per-context action maps 2018-12-10 08:34:01 -05:00
821ab4aae2 Add a 1Hz Lua Callback Signal 2018-11-17 00:12:10 +01:00
848187b264 Fix load/save Lua Editor scripts
* callbacks are unregistered during session-deletion, skip saving them
  during session destruction.
* prevent duplicate state restore, re-load script with the session, not
  window instance.
2018-11-12 02:30:46 +01:00
9e20a24db0 Fix saving Lua Callbacks when un/register succeeds
This fix an issue introduce in 9971e718
2018-11-12 02:06:23 +01:00
9971e718fe Save Lua UI scripts separately
Previously EditorAction and ExitorHook scripts were saved with
instant.xml. The were saved with each session and in the config
dir (for new sessions). This allowed inconsistent UI setups, especially
when loading old sessions that had no or different scripts.

Now Editor scripts (actions and hooks) are saved in a dedicated file,
session-independently. This goes along with ui_config in general
e.g. action-table-columns

The scripts are not saved with ui_config file for two reasons:
ui_config settings related to built-in  ui_config_vars.h,
and in the future there may be further indirection like "ui-rc-file".

Note: previously loaded editor scripts are lost with this change.
2018-11-04 18:47:14 +01:00
4d3cd732c9 Unhardcode and increase bindable Lua-script-action count 2018-10-04 03:57:09 +02:00
fc4a0a9852 Move static function out of header-file, fix -Wunused-function 2018-07-12 03:28:38 +02:00
f448041ec0 no error logging for CURL HTTP requests; future callers can request it if necessary 2018-06-02 13:24:31 -04:00
dc61256466 new_grid: Rewrite of Snap and Grid. (squashed commit)
Separate Snap from Grid.  Lots of naming changes.
Multiple simultaneous snap options allowed. Grid is one of the possible Snap options.
Grid uses the same data as the rulers.  Replace complicated tempo_lines with simple grid_lines.
The Grid is zoom-scale-sensitive along with the rulers.  If you are zoomed out, grid becomes coarser.
2018-02-09 09:59:39 -06:00
c6eab71435 new_snap: Snapped Cursor ( squashed commit )
Snapped Cursor is a line that follows the edit point, and indicates where the operation will occur.
This replaces and extends the line that appears with the Cut tool.
New associated preferences:  snap_threshold and show_snap_cursor.
2018-02-09 08:21:45 -06:00
0772513499 LuaInstance: prepare for 3 argument signal/slot callbacks 2018-01-30 01:33:40 +01:00
efc858dc81 Drop the "Lua" in Lua Action Buttons:
Removed the term "Lua", because users were turned off by something they didn't understand.
A special-case Lua script ("Shortcut") allows the user to select an arbitrary Action.
The "Shortcut" script is selected by default, and in this case there is no "Type" or "Author" displayed.
Action-Buttons may still trigger Lua scripts, as a secondary function.
2017-12-07 11:08:26 -06:00
d96c516ae9 Add Lua binding to query action-list 2017-12-05 01:55:38 +01:00
f3be5bb421 Lua Script-Selector update
* register bindings for action_param
 * honor pre-seeded value (don't ask)
 * allow to pre-seed a script-name
 * allow to cancel interactive script load at parameter-stage
2017-12-05 01:55:38 +01:00
12a5102713 Catch exceptions by const reference 2017-11-23 10:38:52 +01:00
eb928b05e9 More s/frame/sample/ -- Lua Scripts
Sadly this breaks existing loaded scripts. C'est la vie.
2017-09-27 05:03:10 +02:00
30b087ab3d globally change all use of "frame" to refer to audio into "sample".
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode
and video in order to keep the legible
2017-09-18 12:39:17 -04:00
68e57101ad fully remove diskstream code 2017-09-18 11:40:53 -04:00
8c556fcbdc Fix too restrictive Lua sandbox
Don't limit the environment when evaluating bytecode (factory function).
2017-08-26 15:42:14 +02:00
05247255fe Add Lua bindings for ArdourUI's translate_order()
e.g. calculate the route insert position:
print (ArdourUI.translate_order (ArdourUI.InsertAt.BeforeSelection))
2017-08-22 03:12:07 +02:00
2cc32456ab Lua may call C++ functions with throw. Catch them 2017-08-19 01:06:44 +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
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
c37cdf548d Lua GUI Instance update: prepare for template scripts 2017-08-10 02:26:05 +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
ffcb0af8bc Fix Windows builds (amend 7009ff03) 2017-08-07 13:58:56 +02:00
7009ff0300 Update Selection API to include all Stripables 2017-08-06 22:17:58 +02:00