ReaLive-ProjectTabsList/Realive_ProjectTabsList_SaveAsCurrentTab.lua

94 lines
2.8 KiB
Lua

--------------------------------------
----------// HEADER //----------------
--------------------------------------
--[[
* REALIVE: Reaper Setup for a Complete Live Playback Engine
* ReaScript Name: Realive_ProjectTabsList_Refresh.lua
* Description: ProjectTabsList_Refresh
* Instructions:
* Author: Alex Paquette
* Repository:
* Repository URI:
* File URI:
* Licence: GPL v3
* Forum Thread:
* Forum Thread URI:
* REAPER: 5
* Extensions: SWS/S&M
* Version: 1.0
--]]
--[[
* Changelog:
* v1.0 (2019-06-02)
+ Initial Release
--]]
--------------------------------------
----------// VARIABLES //-------------
--------------------------------------
local reaper = reaper -------// Performance Enhancement //----------
-----// Window Set Numbers //------------------------------
local PlayViewWindowSet = 01 -- Enter Window Set Number Used for the "Live Play" View
local AllTracksViewWindowSet = 02 -- Enter the Window Set Number for the "Show All Tracks" View
local WindowSetBaseNumber = 40453
local PlayView_cmdID = WindowSetBaseNumber+PlayViewWindowSet
local AllView_cmdID = WindowSetBaseNumber+AllTracksViewWindowSet
-----// Other Variables //------------------------------
-----// gmem Variables //------------------------------
local gmemSect = 'Realive_Gmem'
local gmem_idx_PlaylistState = 11
local gmem_idx_Management = 12
local gmem_idx_PlaylistState_Clean = 32
local gmem_idx_PlaylistCount_Reaper = 30
local gmem_idx_PlaylistCount_Realive = 31
local gmemPlaylist_SaveRequest = 1
local gmemPlaylist_SaveRefused = 2
local gmemPlaylist_Initialize = 3
local gmemPlaylist_RealiveListItem_Remove = 4
local gmemPlaylist_RealiveListItem_Add = 5
local gmemPlaylist_RealiveListItem_Update = 6
local gmemPlaylist_ProjectTabs_CleanStatus = 9
local gmem_idxRead_Mngmt = reaper.gmem_read(gmem_idx_Management)
local debug = false
-----------------------------------------------------------
-----// DEBUG FUNCTION //----------------------------------
-----------------------------------------------------------
if debug then reaper.ShowConsoleMsg("") end
function Msg(value)
if debug then
reaper.ShowConsoleMsg(tostring(value) .. "\n")
end
end
------------------------------------------
---------// RUN FUNCTION //--------------
------------------------------------------
function run()
local proj, projfn= reaper.EnumProjects( -1, '' )
local before_projfn = reaper.GetProjectPathEx(proj, '')
Msg('before_projfn: '..before_projfn)
reaper.Main_OnCommand(40022, 0) -- Save As Project Tab
local after_projfn= reaper.GetProjectPathEx(proj, '')
Msg('after_projfn: '..after_projfn)
if before_projfn ~= after_projfn then
reaper.gmem_write(gmem_idx_Management, gmemPlaylist_RealiveListItem_Update)
end
end
------------------------------------------
---------// RUNTIME //-------------------
------------------------------------------
reaper.gmem_attach(gmemSect)
run()