class Obsctl::TUI::Model

Defined in:

obsctl/tui/model.cr

Constant Summary

MAX_LOG_ENTRIES = 200

Constructors

Instance Method Summary

Constructor Detail

def self.new(theme : Obsctl::TUI::Theme = Theme.default, show_icons : Bool = true, advanced_ui : Bool = true, command_palette_prefix : String = "/", locale : String = "en") #

[View source]

Instance Method Detail

def advanced_ui : Bool #

[View source]
def advanced_ui=(advanced_ui : Bool) #

[View source]
def anim : AnimClock #

[View source]
def anim=(anim : AnimClock) #

[View source]
def audio_cursor : Int32 #

[View source]
def audio_cursor=(audio_cursor : Int32) #

[View source]
def audio_inputs : Array(OBS::State::AudioState) #

[View source]
def bitrate_history : Array(Float64) #

[View source]
def bitrate_history=(bitrate_history : Array(Float64)) #

[View source]
def clamp_cursors #

[View source]
def collection_cursor : Int32 #

[View source]
def collection_cursor=(collection_cursor : Int32) #

[View source]
def command_palette : CommandPaletteState #

[View source]
def command_palette=(command_palette : CommandPaletteState) #

[View source]
def command_palette_prefix : String #

[View source]
def command_palette_prefix=(command_palette_prefix : String) #

[View source]
def connected_to_daemon : Bool #

[View source]
def connected_to_daemon=(connected_to_daemon : Bool) #

[View source]
def cpu_history : Array(Float64) #

[View source]
def cpu_history=(cpu_history : Array(Float64)) #

[View source]
def current_profile : String | Nil #

[View source]
def current_scene : String | Nil #

[View source]
def current_scene_collection : String | Nil #

[View source]
def cursor(panel : FocusPanel = @focus) : Int32 #

[View source]
def focus : FocusPanel #

[View source]
def focus=(focus : FocusPanel) #

[View source]
def focused_audio : OBS::State::AudioState | Nil #

[View source]
def focused_scene : OBS::State::SceneState | Nil #

[View source]
def fps_history : Array(Float64) #

[View source]
def fps_history=(fps_history : Array(Float64)) #

[View source]
def item_count(panel : FocusPanel = @focus) : Int32 #

[View source]
def last_result : String | Nil #

[View source]
def last_result=(last_result : String | Nil) #

[View source]
def last_result_frame : UInt64 #

[View source]
def last_result_frame=(last_result_frame : UInt64) #

[View source]
def locale : String #

[View source]
def locale=(locale : String) #

[View source]
def logs : Array(LogEntry) #

[View source]
def logs=(logs : Array(LogEntry)) #

[View source]
def meter_levels : Hash(String, Float64) #

[View source]
def meter_levels=(meter_levels : Hash(String, Float64)) #

[View source]
def move_bottom #

[View source]
def move_by(delta : Int32) #

[View source]
def move_down #

[View source]
def move_to(index : Int32) #

Cursor moves are clamped rather than wrapped: G on the last item and a half page past the end both stop at the end, the way they do in vim.


[View source]
def move_top #

[View source]
def move_up #

[View source]
def obs_connected? : Bool #

[View source]
def pending_sequence : String #

Keys of a multi-key binding pressed so far, e.g. <leader>f. Non-empty means the which-key menu is open and the next key completes or cancels.


[View source]
def pending_sequence=(pending_sequence : String) #

Keys of a multi-key binding pressed so far, e.g. <leader>f. Non-empty means the which-key menu is open and the next key completes or cancels.


[View source]
def preview_audio_volume(input_name : String, percent : Int32) : Nil #

Applies an optimistic volume value so rapid keyboard changes render immediately while the debounced OBS command is still pending.


[View source]
def profile_cursor : Int32 #

[View source]
def profile_cursor=(profile_cursor : Int32) #

[View source]
def profiles : Array(String) #

[View source]
def push_log(entry : LogEntry) #

[View source]
def record_duration_ms : Int64 | Nil #

[View source]
def record_metric_sample #

[View source]
def recording? : Bool #

[View source]
def revealed_last_result(characters_per_frame : Int32) : String | Nil #

[View source]
def rich_ui? : Bool #

[View source]
def scene_collections : Array(String) #

[View source]
def scene_cursor : Int32 #

[View source]
def scene_cursor=(scene_cursor : Int32) #

[View source]
def scene_flash : Tuple(String, UInt64) | Nil #

[View source]
def scene_flash=(scene_flash : Tuple(String, UInt64) | Nil) #

[View source]
def scenes : Array(OBS::State::SceneState) #

[View source]
def set_last_result(message : String) #

[View source]
def settings_cursor : Int32 #

[View source]
def settings_cursor=(settings_cursor : Int32) #

[View source]
def show_icons : Bool #

[View source]
def show_icons=(show_icons : Bool) #

[View source]
def snapshot : OBS::State::ObsSnapshot | Nil #

[View source]
def snapshot=(snapshot : OBS::State::ObsSnapshot | Nil) #

[View source]
def stats : OBS::State::ObsStats | Nil #

[View source]
def stream_bitrate_kbps : Float64 | Nil #

[View source]
def stream_duration_ms : Int64 | Nil #

[View source]
def streaming? : Bool #

[View source]
def symbol(rich : String, fallback : String) : String #

[View source]
def theme : Theme #

[View source]
def theme=(theme : Theme) #

[View source]
def theme_preview_origin : Theme | Nil #

[View source]
def theme_preview_origin=(theme_preview_origin : Theme | Nil) #

[View source]
def view : View #

[View source]
def view=(view : View) #

[View source]