Commit Graph

24 Commits

Author SHA1 Message Date
Robin Gareus c1be897eed
Explicitly sandbox Lua instances (3/4)
This allows UI scripts (saved in preferences) to access
os.* functions (non-sandboxed), while preventing other
scripts to do so.

Lua scripts that can run os commands can execute arbitrary
code on the system. While this is a nice feature, it can be
equally dangerous.
2023-10-04 02:50:38 +02:00
Robin Gareus 9b8040a9f4
Add Lua signal emitted when editor selection changed 2023-07-04 21:13:52 +02:00
Robin Gareus 705321b015
Fix compilation with --luadoc 2023-06-23 00:49:58 +02:00
Robin Gareus ac2ed95677
Keep Script-Dialog on top of Script-Manager Window 2023-06-10 21:37:09 +02:00
Paul Davis b35518e212 switch from boost::{shared,weak}_ptr to std::{shared,weak}_ptr
This is mostly a simple lexical search+replace but the absence of operator< for
std::weak_ptr<T> leads to some complications, particularly with Evoral::Sequence
and ExportPortChannel.
2023-03-24 14:19:15 -06:00
Paul Davis ca22ba77e1 Constification: make Stateful::get_state() const, with all other required const-ness added (GUI) 2022-04-06 21:56:59 -06:00
Robin Gareus 87354918a1
Allow Lua bindings of static signals with 4 parameters 2022-03-15 22:52:58 +01:00
Robin Gareus c2ffa07e28
Pre-seed scripts: add "List Plugins" 2020-08-01 01:17:39 +02:00
Robin Gareus d226b63e70
Pre-seed Lua action-buttons 2019-12-12 20:53:17 +01:00
Robin Gareus 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
Robin Gareus 821ab4aae2 Add a 1Hz Lua Callback Signal 2018-11-17 00:12:10 +01:00
Robin Gareus 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
Robin Gareus 0772513499 LuaInstance: prepare for 3 argument signal/slot callbacks 2018-01-30 01:33:40 +01:00
Robin Gareus 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
Robin Gareus c37cdf548d Lua GUI Instance update: prepare for template scripts 2017-08-10 02:26:05 +02:00
Robin Gareus 8eb3b9d34b Add a Lua SetSession signal/hook 2017-08-10 02:25:58 +02:00
Robin Gareus f5995661d0 Lua: Action Script Dialog & MessageBox 2017-04-25 14:01:22 +02:00
Robin Gareus 472f14c803 Allow Lua action scripts to provide a button icon 2017-02-17 18:58:11 +01:00
Robin Gareus 1d2a76f239 Free some one time alloc of the UI (cleaner valgrind output)
No incremental leaks here..
* downcase (const char*) uses strdup, caller needs to free
* free allocated cursors when the editor is destroyed
* drop static editor lua-instance & bindings
* delete allocated gtk image/icons
2017-01-20 13:53:37 +01:00
Robin Gareus bcee4e1518 add a lua timer callback signal 2016-07-24 13:00:15 +02:00
Robin Gareus 8acf782bd2 reduce header dependencies (part 2/2) 2016-03-28 19:14:56 +02:00
Robin Gareus 627f2aae48 UI part of lua code/header consolidation. 2016-03-23 17:00:10 +01:00
Robin Gareus ee2d88a5cc add basic set of Cairo Lua bindings 2016-03-17 15:54:54 +01:00
Robin Gareus e54c77e642 Add Editor/UI Lua Scripting and Action/Callback Script 2016-02-23 15:41:35 +01:00