[tools]: add Lua Language Server basic Ardour Lua API definition

Signed-off-by: Christopher Arndt <chris@chrisarndt.de>
This commit is contained in:
Christopher Arndt 2024-01-22 14:33:22 +01:00
parent 760babcc8c
commit 6a39d65a5b
1 changed files with 143 additions and 0 deletions

143
ardour_definitions.lua Normal file
View File

@ -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