# Developer > Developer API reference for ML MasterVideo Category: SCENE EDITOR · Source: https://miciomods.it/docs/ml-mastervideo-developer · Last updated: 2026-07-05 ## Overview ML MasterVideo provides client exports for accessing scene data and controlling the HUD, server exports for initialization status, and handler hooks in the `open/` folder. ## Client Exports ```lua local sceneManager = exports.ml_mastervideo:GetSceneManager() local playback = exports.ml_mastervideo:GetPlaybackModule() local scene = exports.ml_mastervideo:GetSceneById(sceneId) local current = exports.ml_mastervideo:GetCurrentSceneData() local synced = exports.ml_mastervideo:GetSyncedScenesModule() exports.ml_mastervideo:SetHudActive(false) local active = exports.ml_mastervideo:IsHudActive() ``` - `GetSceneManager()`: Returns the SceneManager module for direct entity control - `GetPlaybackModule()`: Returns the Playback module for starting scenes programmatically - `GetSceneById(sceneId)`: Returns scene data by ID - `GetCurrentSceneData()`: Returns the currently loaded scene - `GetSyncedScenesModule()`: Returns the SyncedScenes module - `SetHudActive(active)`: Show/hide the editor HUD - `IsHudActive()`: Returns `true` if the HUD is visible ## Server Exports ```lua local ready = exports.ml_mastervideo:IsInitialized() local count = exports.ml_mastervideo:GetSceneCount() ``` - `IsInitialized()`: Returns `true` when the database is ready - `GetSceneCount()`: Returns the number of stored scenes ## Server Handlers Located in `open/server.lua`. **open/server.lua** ```lua function OpenServer.BeforeGiveItem(src, item, amount) return true end function OpenServer.OnActionComplete(src, actionType, data) end ``` ## Client Handlers Located in `open/client.lua`. **open/client.lua** ```lua function OpenClient.BeforeOpenUI(data) return true -- return false to block end function OpenClient.Notify(message, type) Bridge.Notify(message, type) end ``` ## Shared Handlers Located in `open/shared.lua`. **open/shared.lua** ```lua function OpenHandlers.OnPlayerAction(src, data) return true end function OpenHandlers.ValidateAction(src, actionType) return true end ``` ## Scene Data Structure Each scene contains entities, camera tracks, and a timeline: - **Entities**: Peds, vehicles, and props with position, appearance, and behavior (idle, animation, scenario, driving, recorded path) - **Camera Tracks**: Named tracks with keyframes (position, rotation, FOV, interpolation mode: linear/smooth/ease_in_out) - **Timeline**: Clips per entity with start time, duration, animation/scenario/recording references ## Examples **Play a scene from another script** **your_script/client.lua** ```lua local playback = exports.ml_mastervideo:GetPlaybackModule() playback.StartScene('my_scene_id', { countdown = 0 }) ``` **Hide HUD during cutscene** **your_script/client.lua** ```lua exports.ml_mastervideo:SetHudActive(false) -- ... run cutscene ... exports.ml_mastervideo:SetHudActive(true) ```