From 6a39d65a5b0905fc52e2205e50aa1e761c5c15d3 Mon Sep 17 00:00:00 2001 From: Christopher Arndt Date: Mon, 22 Jan 2024 14:33:22 +0100 Subject: [PATCH] [tools]: add Lua Language Server basic Ardour Lua API definition Signed-off-by: Christopher Arndt --- ardour_definitions.lua | 143 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 143 insertions(+) create mode 100644 ardour_definitions.lua diff --git a/ardour_definitions.lua b/ardour_definitions.lua new file mode 100644 index 0000000..193ba26 --- /dev/null +++ b/ardour_definitions.lua @@ -0,0 +1,143 @@ +---@meta + +---@class ID +ID = {} + +---@return string +function ID:to_s() end + +---@class StatefulDestructible +StatefulDestructible = {} + +---@class StatefulDestructiblePtr +StatefulDestructiblePtr = {} + +function StatefulDestructiblePtr:clear_changes() end + +---@class SessionObjectPtr +SessionObjectPtr = {} + +---@return StatefulDestructible +function SessionObjectPtr:to_statefuldestructible() end + +---@return ID +function StatefulDestructiblePtr:id() end + +---@class Temporal +Temporal = {} + +---@param pos integer +---@return timepos_t +function Temporal.timepos_t(pos) end + +---@param pos integer +---@return timecnt_t +function Temporal.timecnt_t(pos) end + +---@class timepos_t +timepos_t = {} + +---@class timecnt_t +timecnt_t = {} + +---@class Location +Location = {} + +---@return string +function Location:name() end + +---@class Locations +Locations = {} + +---@param pos timepos_t +---@param cnt timecnt_t +---@param flag boolean +---@return Location +function Locations:range_starts_at(pos, cnt, flag) end + +---@class Route +Route = {} + +---@return Track +function Route:to_track() end + +---@class RouteListPtr +RouteListPtr = {} + +---@return fun():Route +function RouteListPtr:iter() end + +---@class Region: SessionObjectPtr +Region = {} + +---@return boolean +function Region:isnil() end +---@return timepos_t +function Region:position() end +---@param string name +function Region:set_name(name) end +---@return AudioRegion +function Region:to_audioregion() end +---@return StatefulDestructiblePtr +function Region:to_stateful() end + +---@class RegionList +RegionList = {} + +---@return fun():Region +function RegionList:iter() end + +---@class RegionSelection +RegionSelection = {} + +---@return RegionList +function RegionSelection:regionlist() end + +---@class AudioRegion: Region +AudioRegion = {} + +---@return boolean +function AudioRegion:isnil() end + +---@class Playlist +Playlist = {} + +---@param region_id ID +---@return Region +function Playlist:region_by_id(region_id) end + +---@class Track +Track = {} + +---@return Playlist +function Track:playlist() end +---@return string +function Track:name() end + +---@class Command +Command = {} + +---@class Selection +---@field regions RegionSelection +Selection = {} + +---@class Session +Session = {} + +---@return Locations +function Session:locations() end +---@return RouteListPtr +function Session:get_tracks() end +---@param name string +function Session:begin_reversible_command(name) end +---@param obj StatefulDestructible|StatefulDestructiblePtr +function Session:add_stateful_diff_command(obj) end +function Session:abort_empty_reversible_command() end +---@param cmd Command|nil +function Session:commit_reversible_command(cmd?) end + +---@class Editor +Editor = {} + +---@return Selection +function Editor:get_selection() end