ACMX 2.136.0
Dual-Backend Real-Time GPU Video Synthesis
Loading...
Searching...
No Matches
acmxvk::MainWindow Class Referencefinal

#include <main_window.hpp>

Inheritance diagram for acmxvk::MainWindow:

Classes

struct  MidiCcMapping
struct  MidiKnobState
struct  ReadbackRequest

Public Member Functions

void event (SDL_Event &event) override
 MainWindow (Options options)
void onRecordCustomRendering (VkCommandBuffer command_buffer, std::uint32_t image_index) override
void onRecordPostProcessingTexture (VkCommandBuffer command_buffer, std::uint32_t image_index, VkImageView texture_view, VkExtent2D texture_extent) override
void onSwapchainRecreated () override
void proc () override
void recordModel (VkCommandBuffer command_buffer, std::uint32_t image_index, VkImageView texture_view)
 ~MainWindow () override

Private Types

enum class  SourceKind { Camera , Video , Graphic }

Private Member Functions

std::string activePassDescription () const
const std::vector< fs::path > * activePasses () const
std::string activePlaylistDescription () const
std::vector< fs::path > activeShaderPipeline () const
std::string_view activeShaderRole () const
void adjustAudioSensitivity (float amount)
void adjustModelScale (float amount)
void adjustTimeSpeed (double amount)
void apply_interface_audio_file_state (const InterfaceAudioFileState &requested)
void apply_interface_deep_dream_state (const InterfaceDeepDreamState &requested, bool announce)
void apply_interface_gpu_filter_state (const InterfaceGpuFilterState &requested, bool announce)
void apply_interface_multipass_state (const InterfaceMultipassState &requested)
void apply_interface_overlay_state (const InterfaceOverlayState &requested, bool announce)
void apply_interface_playback_state (const InterfacePlaybackState &requested, bool announce)
void apply_interface_shader_reload (const InterfaceReloadState &requested)
void apply_interface_shader_selection (const std::string &requested_name)
void apply_interface_uniform_values (const std::vector< InterfaceUniformValue > &uniform_values)
void applyCustomUniformOverrides ()
void applyDeepDreamEffect (cv::Mat &rgba)
void applyDnnEffects (cv::Mat &rgba)
bool applyMidiCc (const midi::MidiMessage &message)
bool applyMidiMap (const midi::MidiMessage &message)
void applyShaderPipeline ()
bool audioSourceOpen () const
std::uint64_t autopilotFrameAdvance ()
void beginCrossfade ()
void closeVideoCapture ()
void configureMidiMappings ()
void configureRenderResolution ()
bool continuousReadbackEnabled () const
std::string currentShader () const
bool currentVideoTimeline (double &timeline, std::uint64_t *frame_index=nullptr) const
void cycleCrossfade (int direction)
fs::path directModelFragmentShader () const
void dispatchMidiAction (int action)
void dispatchMidiKnobs ()
void dispatchMidiModelAction (int action)
void emitHeadlessProgress (bool complete)
bool handleCaptureEnd (bool discard=false)
void handleDeepDreamRuntimeError (std::string_view message)
void handleFrameReadback (std::vector< std::uint8_t > &rgba, const std::vector< std::uint16_t > *rgba16, uint32_t width, uint32_t height)
bool historyCacheEnabled () const
bool hostPreprocessingEnabled () const
std::string hudElapsedTimeString () const
double hudVideoPositionSeconds () const
std::string hudVideoTimeString () const
double hudWallElapsedSeconds () const
void initialize_interface_control ()
void initializeDeepDream ()
void initializeDnn ()
void initializeGpuFilters ()
void initializeHistory (const cv::Mat &rgba)
void initializeModel ()
void initializeOverlayFont ()
void initializeSprite ()
bool isMidiMappingSupported (const midi::MidiMapping &mapping) const
bool isMidiModelAction (int action) const
bool isMidiSliderMapping (const midi::MidiMapping &mapping) const
void loadPlaylist ()
void loadShaderPasses ()
void loadShaders ()
void logSelectedPlaylistNode (std::string_view action) const
void maybeRandomizeCrossfade ()
bool mediaClockSeconds (double &seconds) const
SDL_Keycode midiActionKey (int action) const
std::string_view midiActionName (int action) const
void onFrameReadback (std::vector< std::uint8_t > &rgba, uint32_t width, uint32_t height) override
void onFrameReadbackRgba16 (std::vector< std::uint16_t > &rgba, uint32_t width, uint32_t height) override
void onFrameReadbackScheduled () override
void openAudio ()
void openInput ()
void openMidi ()
void openOutput ()
bool openVideoCapture ()
double outputFrameRate ()
void paceMaximizedRendering ()
void pollMidi ()
void printCustomUniforms () const
void queueOverlayText ()
void queueRuntimeHud (int &y, int line_height)
bool readClockedVideoFrame (double clock_seconds)
bool readHostRgba (cv::Mat &rgba)
bool readInputFrame ()
bool readLatestCameraFrame ()
bool readTrackedInputFrame ()
void recordShaderResources (const mxvk::ShaderModuleInfo &module_info, std::string_view source)
void requestSnapshot (SnapshotFormat format)
void resetAudioWarmup ()
void resetAutopilotInterval ()
void resetShaderTime ()
void resolveConfiguredResourcePaths ()
fs::path resolvedShaderPath (const fs::path &shader) const
void selectGpuFilter (int direction)
void selectPlaylistNode (int direction)
void selectShader (int direction)
bool setMidiUniform (std::size_t uniform_index, int value, std::string_view label)
void setSourcePlaybackClockPaused (bool paused)
bool skipInputFrame ()
std::pair< int, int > source_dimensions ()
std::uint32_t spectrumBinCount () const
bool spectrumHistoryEnabledForShaders () const
bool spectrumTextureEnabledForShaders () const
void start_requested_audio_recording ()
void startLiveAudioRecordingIfNeeded ()
void startMediaTimelineIfReady ()
void stepShaderTime (double amount)
void sync_interface_control ()
void toggleAutopilot (bool sequential)
void toggleFreeze ()
void toggleFullscreen ()
void togglePause ()
float updateAudioWarmup (std::chrono::steady_clock::time_point now)
void updateAutopilot ()
void updateCameraFrameRate ()
void updateCameraHistory ()
void updateCrossfade (const std::chrono::steady_clock::time_point now)
void updateHistoryFrame (const cv::Mat &rgba)
void updateHudFrameRate ()
void updateHumanOverlayTexture ()
void updateRandomDreamSettings ()
void updateShaderUniforms (int width, int height)
void updateWindowTitle (bool force=false)
void uploadCustomUniforms ()
void uploadInputFrame (const cv::Mat &rgba)

Static Private Member Functions

static std::string captureFourccName (double value)
static std::string clipOverlayText (std::string text)
static std::string formatHudTime (double seconds_value)
static bool usesMidiDeltaDirection (const midi::MidiMapping &mapping)

Private Attributes

bool async_camera_frame_uploaded = false
bool async_camera_initial_wait_completed = false
bool audio_delta_time = false
std::unique_ptr< audio::AudioEngineaudio_engine
bool audio_time_active = false
float audio_warmup_envelope = 0.0F
std::chrono::steady_clock::time_point audio_warmup_last_tick {}
bool audio_warmup_started = false
int autopilot_counter = 0
bool autopilot_enabled = false
int autopilot_interval_frames = 0
bool autopilot_random_crossfade = false
std::mt19937 autopilot_rng {std::random_device{}()}
bool autopilot_sequential = false
bool autopilot_video_timeline_initialized = false
double camera_delivered_fps = 0.0
std::uint64_t camera_fps_frame_count = 0
std::chrono::steady_clock::time_point camera_fps_last_tick {}
bool camera_history_clock_started = false
std::chrono::steady_clock::time_point camera_history_next_update {}
double camera_last_logged_fps = 0.0
bool camera_recording_clock_logged = false
double camera_reported_fps = 0.0
int camera_reported_height = 0
int camera_reported_width = 0
mxvk::VK_Capture capture
std::chrono::steady_clock::time_point compatibility_clock_start
std::vector< fs::path > configured_passes
bool counter_disabled
bool crossfade_active = false
float crossfade_alpha = 1.0F
std::size_t crossfade_post_process_index
mxvk::VK_Sprite * crossfade_previous_sprite = nullptr
std::size_t crossfade_shader_index = 0
std::chrono::steady_clock::time_point crossfade_start_time
double crossfade_start_video_timeline = 0.0
bool crossfade_uses_video_timeline = false
std::vector< float > custom_uniform_values
std::vector< ShaderManifest::CustomUniformcustom_uniforms
std::uint64_t decoded_video_frame_count = 0
bool dream_processing_logged = false
bool effects_enabled = true
std::unique_ptr< audio::FileAudioSourcefile_audio_source
std::uint64_t frame_count = 0
mxvk::VK_Sprite * frame_sprite = nullptr
fs::path generate_output_directory
std::uint64_t generated_frame_count = 0
cv::Mat graphic_rgba
bool hdr_cuda_filter_bypass_logged = false
bool hdr_dnn_compatibility_logged = false
bool hdr_dream_compatibility_logged = false
bool hdr_input_precision_enabled = false
bool hdr_input_upload_logged = false
bool hdr_output_enabled = false
bool hdr_readback_logged = false
bool hdr_transfer_hlg = false
bool hdr_transfer_processing_enabled = false
bool headless_progress_complete = false
std::chrono::steady_clock::time_point headless_progress_last_emit {}
int headless_progress_last_percent = -1
bool headless_shutdown_logged = false
int history_delay_counter = 0
bool history_initialized = false
double hud_display_fps = 0.0
std::uint64_t hud_fps_frame_count = 0
std::chrono::steady_clock::time_point hud_fps_last_tick
std::chrono::steady_clock::time_point hud_session_start
cv::Mat human_overlay_rgba
mxvk::VK_Sprite * human_overlay_sprite = nullptr
bool initial_frame_pending = false
mxvk::VKAbstractModel input_model
bool input_paused = false
InterfaceClient interface_client
bool interface_connection_warning_reported = false
std::uint32_t interface_last_audio_file_sequence = 0
std::uint32_t interface_last_reload_sequence = 0
std::uint32_t interface_last_sequence = 0
std::chrono::steady_clock::time_point interface_next_connect_attempt {}
LatestCameraFrame latest_camera_frame
cv::Mat latest_camera_history_rgba
float legacy_alpha = 0.1F
bool legacy_alpha_increasing = true
bool media_clock_sync_logged = false
bool media_timeline_started = false
std::vector< midi::MidiMappingmidi_action_mappings
std::vector< MidiCcMappingmidi_cc_mappings
std::unique_ptr< midi::MidiInputmidi_input
std::vector< MidiKnobStatemidi_knob_states
std::array< int, 4 > midi_slider_uniform_indices {-1, -1, -1, -1}
bool model_3d_active = false
bool model_auto_rotate = false
float model_camera_distance = 0.0F
float model_camera_movement_speed = 0.1F
float model_camera_rotation_speed = 5.0F
fs::path model_effect_shader
mxvk::ModelFragmentUniforms model_fragment_uniforms {}
bool model_initialized = false
int model_last_mouse_x = 0
int model_last_mouse_y = 0
std::chrono::steady_clock::time_point model_last_render_time
bool model_mouse_dragging = false
float model_pitch_degrees = 0.0F
float model_rotation_speed = 18.0F
float model_rotation_x_degrees = 0.0F
float model_rotation_y_degrees = 0.0F
float model_rotation_z_degrees = 0.0F
float model_scale = 1.0F
bool model_scale_oscillation_active = false
float model_scale_oscillation_phase = 0.0F
bool model_texture_prepass_active = false
bool model_video_timeline_initialized = false
float model_view_rotation_degrees = 0.0F
bool model_wave_active = false
float model_wave_amplitude_x = 0.0F
float model_wave_amplitude_y = 0.0F
float model_wave_amplitude_z = 0.0F
float model_wave_audio_step = 0.0F
float model_wave_direction_x = 1.0F
float model_wave_direction_y = 1.0F
float model_wave_direction_z = 1.0F
float model_wave_phase = 0.0F
float model_yaw_degrees = 270.0F
bool mouse_pressed = false
float mouse_x = 0.0F
float mouse_y = 0.0F
bool multipass_enabled = false
std::uint64_t next_clock_output_frame = 0
std::chrono::steady_clock::time_point next_render_tick {}
std::uint64_t observed_midi_drops = 0
Options options
std::uint64_t output_frame_count = 0
int overlay_font_size = 18
SnapshotFormat pending_snapshot_format = SnapshotFormat::Png
std::vector< PlaylistNodeplaylist
bool playlist_enabled = false
std::size_t playlist_index = 0
std::uint64_t png_frame_count = 0
fs::path png_output_directory
std::vector< mxvk::VK_Sprite * > post_process_sprites
int preview_overlay_font_size = 18
std::uint64_t previous_autopilot_video_frame = 0
std::chrono::steady_clock::time_point previous_frame {std::chrono::steady_clock::now()}
std::uint64_t previous_model_video_frame = 0
double previous_random_dream_timeline = 0.0
double previous_video_shader_timeline = 0.0
std::uint64_t random_dream_period
std::mt19937 random_dream_rng {std::random_device{}()}
bool random_dream_timeline_initialized = false
std::deque< ReadbackRequestreadback_requests
bool recording_complete = false
double recording_fps = 0.0
bool recording_frame_due = false
bool recording_frame_has_pts = false
std::uint64_t recording_frame_pts = 0
int recording_height = 0
int recording_width = 0
bool render_pacing_started = false
bool rendering_frozen = false
bool shader_history_required = false
std::size_t shader_index = 0
fs::path shader_library_directory
bool shader_locked = false
fs::path shader_manifest_path
std::unordered_map< std::string, fs::path > shader_reload_overrides
bool shader_spectrum_history_required = false
bool shader_spectrum_required = false
double shader_time = 0.0
bool shader_time_active = true
std::vector< fs::path > shaders
std::uint64_t snapshot_count = 0
bool snapshot_pending = false
SnapshotWriter snapshot_writer
bool source_frame_received = false
SourceKind source_kind = SourceKind::Camera
bool source_playback_clock_paused = false
std::chrono::steady_clock::time_point source_playback_clock_start {}
std::chrono::steady_clock::time_point source_playback_pause_start {}
std::chrono::steady_clock::duration source_playback_paused_duration {}
bool spectrum_scale_by_sensitivity = false
double video_duration_seconds = 0.0
VideoHdrInfo video_hdr_info
bool video_shader_clock_logged = false
bool video_shader_timeline_initialized = false
double video_source_fps = 0.0
std::uint64_t video_source_frame_count = 0
bool watermark_enabled = !options.watermark_text.empty()
std::chrono::steady_clock::time_point window_title_last_update {}
Writer writer

Static Private Attributes

static constexpr std::uint32_t COMPATIBILITY_SPECTRUM_BIN_COUNT = 256

Detailed Description

Definition at line 81 of file ACMXVK/main_window.hpp.

Member Enumeration Documentation

◆ SourceKind

enum class acmxvk::MainWindow::SourceKind
strongprivate
Enumerator
Camera 
Video 
Graphic 

Definition at line 100 of file ACMXVK/main_window.hpp.

Constructor & Destructor Documentation

◆ MainWindow()

◆ ~MainWindow()

Member Function Documentation

◆ activePassDescription()

std::string MainWindow::activePassDescription ( ) const
nodiscardprivate

◆ activePasses()

const std::vector< fs::path > * MainWindow::activePasses ( ) const
nodiscardprivate

◆ activePlaylistDescription()

std::string MainWindow::activePlaylistDescription ( ) const
nodiscardprivate

◆ activeShaderPipeline()

◆ activeShaderRole()

std::string_view MainWindow::activeShaderRole ( ) const
nodiscardprivate

◆ adjustAudioSensitivity()

void MainWindow::adjustAudioSensitivity ( float amount)
private

Definition at line 1909 of file ACMXVK/main_window.cpp.

References audio_engine, acmxvk::Options::audio_sensitivity, audioSourceOpen(), and options.

Referenced by event().

◆ adjustModelScale()

void MainWindow::adjustModelScale ( float amount)
private

◆ adjustTimeSpeed()

void MainWindow::adjustTimeSpeed ( double amount)
private

Definition at line 5007 of file ACMXVK/main_window.cpp.

References adjustTimeSpeed(), and options.

Referenced by adjustTimeSpeed(), and event().

◆ apply_interface_audio_file_state()

◆ apply_interface_deep_dream_state()

◆ apply_interface_gpu_filter_state()

◆ apply_interface_multipass_state()

◆ apply_interface_overlay_state()

◆ apply_interface_playback_state()

◆ apply_interface_shader_reload()

◆ apply_interface_shader_selection()

◆ apply_interface_uniform_values()

void MainWindow::apply_interface_uniform_values ( const std::vector< InterfaceUniformValue > & uniform_values)
private

◆ applyCustomUniformOverrides()

void MainWindow::applyCustomUniformOverrides ( )
private

◆ applyDeepDreamEffect()

◆ applyDnnEffects()

◆ applyMidiCc()

◆ applyMidiMap()

◆ applyShaderPipeline()

◆ audioSourceOpen()

bool MainWindow::audioSourceOpen ( ) const
nodiscardprivate

◆ autopilotFrameAdvance()

std::uint64_t MainWindow::autopilotFrameAdvance ( )
nodiscardprivate

◆ beginCrossfade()

◆ captureFourccName()

std::string MainWindow::captureFourccName ( double value)
staticnodiscardprivate

Definition at line 3729 of file ACMXVK/main_window.cpp.

References captureFourccName().

Referenced by captureFourccName(), and openInput().

◆ clipOverlayText()

std::string MainWindow::clipOverlayText ( std::string text)
staticnodiscardprivate

◆ closeVideoCapture()

void MainWindow::closeVideoCapture ( )
private

Definition at line 5475 of file ACMXVK/main_window.cpp.

References capture, and closeVideoCapture().

Referenced by closeVideoCapture(), and handleCaptureEnd().

◆ configureMidiMappings()

◆ configureRenderResolution()

◆ continuousReadbackEnabled()

bool MainWindow::continuousReadbackEnabled ( ) const
nodiscardprivate

◆ currentShader()

◆ currentVideoTimeline()

bool MainWindow::currentVideoTimeline ( double & timeline,
std::uint64_t * frame_index = nullptr ) const
nodiscardprivate

◆ cycleCrossfade()

void MainWindow::cycleCrossfade ( int direction)
private

Definition at line 4944 of file ACMXVK/main_window.cpp.

References acmxvk::CROSSFADE_NAMES, crossfade_shader_index, and cycleCrossfade().

Referenced by cycleCrossfade(), and event().

◆ directModelFragmentShader()

◆ dispatchMidiAction()

void MainWindow::dispatchMidiAction ( int action)
private

◆ dispatchMidiKnobs()

◆ dispatchMidiModelAction()

◆ emitHeadlessProgress()

◆ event()

◆ formatHudTime()

std::string MainWindow::formatHudTime ( double seconds_value)
staticnodiscardprivate

◆ handleCaptureEnd()

bool MainWindow::handleCaptureEnd ( bool discard = false)
nodiscardprivate

◆ handleDeepDreamRuntimeError()

void MainWindow::handleDeepDreamRuntimeError ( std::string_view message)
private

◆ handleFrameReadback()

◆ historyCacheEnabled()

bool MainWindow::historyCacheEnabled ( ) const
nodiscardprivate

◆ hostPreprocessingEnabled()

bool MainWindow::hostPreprocessingEnabled ( ) const
nodiscardprivate

◆ hudElapsedTimeString()

std::string MainWindow::hudElapsedTimeString ( ) const
nodiscardprivate

◆ hudVideoPositionSeconds()

double MainWindow::hudVideoPositionSeconds ( ) const
nodiscardprivate

◆ hudVideoTimeString()

std::string MainWindow::hudVideoTimeString ( ) const
nodiscardprivate

◆ hudWallElapsedSeconds()

double MainWindow::hudWallElapsedSeconds ( ) const
nodiscardprivate

◆ initialize_interface_control()

◆ initializeDeepDream()

◆ initializeDnn()

◆ initializeGpuFilters()

void MainWindow::initializeGpuFilters ( )
private

◆ initializeHistory()

◆ initializeModel()

◆ initializeOverlayFont()

◆ initializeSprite()

◆ isMidiMappingSupported()

◆ isMidiModelAction()

bool MainWindow::isMidiModelAction ( int action) const
nodiscardprivate

◆ isMidiSliderMapping()

bool MainWindow::isMidiSliderMapping ( const midi::MidiMapping & mapping) const
nodiscardprivate

◆ loadPlaylist()

◆ loadShaderPasses()

void MainWindow::loadShaderPasses ( )
private

◆ loadShaders()

◆ logSelectedPlaylistNode()

void MainWindow::logSelectedPlaylistNode ( std::string_view action) const
private

◆ maybeRandomizeCrossfade()

void MainWindow::maybeRandomizeCrossfade ( )
private

◆ mediaClockSeconds()

◆ midiActionKey()

SDL_Keycode MainWindow::midiActionKey ( int action) const
nodiscardprivate

◆ midiActionName()

std::string_view MainWindow::midiActionName ( int action) const
nodiscardprivate

Definition at line 1473 of file ACMXVK/main_window.cpp.

Referenced by dispatchMidiAction().

◆ onFrameReadback()

void MainWindow::onFrameReadback ( std::vector< std::uint8_t > & rgba,
uint32_t width,
uint32_t height )
overrideprivate

Definition at line 4543 of file ACMXVK/main_window.cpp.

References handleFrameReadback(), and onFrameReadback().

Referenced by onFrameReadback().

◆ onFrameReadbackRgba16()

void MainWindow::onFrameReadbackRgba16 ( std::vector< std::uint16_t > & rgba,
uint32_t width,
uint32_t height )
overrideprivate

◆ onFrameReadbackScheduled()

◆ onRecordCustomRendering()

void MainWindow::onRecordCustomRendering ( VkCommandBuffer command_buffer,
std::uint32_t image_index )
override

Definition at line 611 of file ACMXVK/main_window.cpp.

References model_texture_prepass_active, and recordModel().

◆ onRecordPostProcessingTexture()

void MainWindow::onRecordPostProcessingTexture ( VkCommandBuffer command_buffer,
std::uint32_t image_index,
VkImageView texture_view,
VkExtent2D texture_extent )
override

Definition at line 619 of file ACMXVK/main_window.cpp.

References model_texture_prepass_active, and recordModel().

◆ onSwapchainRecreated()

void MainWindow::onSwapchainRecreated ( )
override

◆ openAudio()

◆ openInput()

◆ openMidi()

◆ openOutput()

◆ openVideoCapture()

bool MainWindow::openVideoCapture ( )
nodiscardprivate

◆ outputFrameRate()

double MainWindow::outputFrameRate ( )
nodiscardprivate

◆ paceMaximizedRendering()

void MainWindow::paceMaximizedRendering ( )
private

◆ pollMidi()

◆ printCustomUniforms()

void MainWindow::printCustomUniforms ( ) const
private

◆ proc()

◆ queueOverlayText()

◆ queueRuntimeHud()

◆ readClockedVideoFrame()

◆ readHostRgba()

bool MainWindow::readHostRgba ( cv::Mat & rgba)
nodiscardprivate

Definition at line 5519 of file ACMXVK/main_window.cpp.

References capture, hdr_input_precision_enabled, and readHostRgba().

Referenced by readHostRgba(), and readInputFrame().

◆ readInputFrame()

◆ readLatestCameraFrame()

◆ readTrackedInputFrame()

◆ recordModel()

◆ recordShaderResources()

void MainWindow::recordShaderResources ( const mxvk::ShaderModuleInfo & module_info,
std::string_view source )
private

◆ requestSnapshot()

◆ resetAudioWarmup()

◆ resetAutopilotInterval()

void MainWindow::resetAutopilotInterval ( )
private

◆ resetShaderTime()

◆ resolveConfiguredResourcePaths()

void MainWindow::resolveConfiguredResourcePaths ( )
private

◆ resolvedShaderPath()

fs::path MainWindow::resolvedShaderPath ( const fs::path & shader) const
nodiscardprivate

◆ selectGpuFilter()

void MainWindow::selectGpuFilter ( int direction)
private

◆ selectPlaylistNode()

void MainWindow::selectPlaylistNode ( int direction)
private

◆ selectShader()

◆ setMidiUniform()

bool MainWindow::setMidiUniform ( std::size_t uniform_index,
int value,
std::string_view label )
nodiscardprivate

◆ setSourcePlaybackClockPaused()

void MainWindow::setSourcePlaybackClockPaused ( bool paused)
private

◆ skipInputFrame()

bool MainWindow::skipInputFrame ( )
nodiscardprivate

◆ source_dimensions()

std::pair< int, int > MainWindow::source_dimensions ( )
nodiscardprivate

◆ spectrumBinCount()

std::uint32_t MainWindow::spectrumBinCount ( ) const
nodiscardprivate

◆ spectrumHistoryEnabledForShaders()

bool MainWindow::spectrumHistoryEnabledForShaders ( ) const
nodiscardprivate

◆ spectrumTextureEnabledForShaders()

bool MainWindow::spectrumTextureEnabledForShaders ( ) const
nodiscardprivate

◆ start_requested_audio_recording()

void MainWindow::start_requested_audio_recording ( )
private

◆ startLiveAudioRecordingIfNeeded()

◆ startMediaTimelineIfReady()

◆ stepShaderTime()

void MainWindow::stepShaderTime ( double amount)
private

Definition at line 5002 of file ACMXVK/main_window.cpp.

References shader_time, and stepShaderTime().

Referenced by event(), and stepShaderTime().

◆ sync_interface_control()

◆ toggleAutopilot()

◆ toggleFreeze()

void MainWindow::toggleFreeze ( )
private

◆ toggleFullscreen()

void MainWindow::toggleFullscreen ( )
private

Definition at line 5015 of file ACMXVK/main_window.cpp.

References toggleFullscreen().

Referenced by event(), and toggleFullscreen().

◆ togglePause()

void MainWindow::togglePause ( )
private

◆ updateAudioWarmup()

float MainWindow::updateAudioWarmup ( std::chrono::steady_clock::time_point now)
nodiscardprivate

◆ updateAutopilot()

◆ updateCameraFrameRate()

◆ updateCameraHistory()

◆ updateCrossfade()

void MainWindow::updateCrossfade ( const std::chrono::steady_clock::time_point now)
private

◆ updateHistoryFrame()

◆ updateHudFrameRate()

void MainWindow::updateHudFrameRate ( )
private

◆ updateHumanOverlayTexture()

void MainWindow::updateHumanOverlayTexture ( )
private

◆ updateRandomDreamSettings()

◆ updateShaderUniforms()

◆ updateWindowTitle()

◆ uploadCustomUniforms()

void MainWindow::uploadCustomUniforms ( )
private

◆ uploadInputFrame()

◆ usesMidiDeltaDirection()

bool MainWindow::usesMidiDeltaDirection ( const midi::MidiMapping & mapping)
staticnodiscardprivate

Member Data Documentation

◆ async_camera_frame_uploaded

bool acmxvk::MainWindow::async_camera_frame_uploaded = false
private

Definition at line 178 of file ACMXVK/main_window.hpp.

Referenced by readLatestCameraFrame().

◆ async_camera_initial_wait_completed

bool acmxvk::MainWindow::async_camera_initial_wait_completed = false
private

Definition at line 179 of file ACMXVK/main_window.hpp.

Referenced by readLatestCameraFrame().

◆ audio_delta_time

bool acmxvk::MainWindow::audio_delta_time = false
private

Definition at line 195 of file ACMXVK/main_window.hpp.

Referenced by event(), and updateShaderUniforms().

◆ audio_engine

◆ audio_time_active

bool acmxvk::MainWindow::audio_time_active = false
private

Definition at line 194 of file ACMXVK/main_window.hpp.

Referenced by event(), recordModel(), and updateShaderUniforms().

◆ audio_warmup_envelope

float acmxvk::MainWindow::audio_warmup_envelope = 0.0F
private

Definition at line 338 of file ACMXVK/main_window.hpp.

Referenced by resetAudioWarmup(), and updateAudioWarmup().

◆ audio_warmup_last_tick

std::chrono::steady_clock::time_point acmxvk::MainWindow::audio_warmup_last_tick {}
private

Definition at line 340 of file ACMXVK/main_window.hpp.

Referenced by updateAudioWarmup().

◆ audio_warmup_started

bool acmxvk::MainWindow::audio_warmup_started = false
private

Definition at line 339 of file ACMXVK/main_window.hpp.

Referenced by resetAudioWarmup(), and updateAudioWarmup().

◆ autopilot_counter

◆ autopilot_enabled

bool acmxvk::MainWindow::autopilot_enabled = false
private

Definition at line 205 of file ACMXVK/main_window.hpp.

Referenced by queueRuntimeHud(), toggleAutopilot(), and updateAutopilot().

◆ autopilot_interval_frames

int acmxvk::MainWindow::autopilot_interval_frames = 0
private

◆ autopilot_random_crossfade

bool acmxvk::MainWindow::autopilot_random_crossfade = false
private

Definition at line 207 of file ACMXVK/main_window.hpp.

Referenced by event(), and maybeRandomizeCrossfade().

◆ autopilot_rng

std::mt19937 acmxvk::MainWindow::autopilot_rng {std::random_device{}()}
private

◆ autopilot_sequential

bool acmxvk::MainWindow::autopilot_sequential = false
private

Definition at line 206 of file ACMXVK/main_window.hpp.

Referenced by queueRuntimeHud(), toggleAutopilot(), and updateAutopilot().

◆ autopilot_video_timeline_initialized

bool acmxvk::MainWindow::autopilot_video_timeline_initialized = false
private

Definition at line 304 of file ACMXVK/main_window.hpp.

Referenced by autopilotFrameAdvance(), and toggleAutopilot().

◆ camera_delivered_fps

double acmxvk::MainWindow::camera_delivered_fps = 0.0
private

Definition at line 234 of file ACMXVK/main_window.hpp.

Referenced by queueRuntimeHud(), and updateCameraFrameRate().

◆ camera_fps_frame_count

std::uint64_t acmxvk::MainWindow::camera_fps_frame_count = 0
private

Definition at line 282 of file ACMXVK/main_window.hpp.

Referenced by updateCameraFrameRate().

◆ camera_fps_last_tick

std::chrono::steady_clock::time_point acmxvk::MainWindow::camera_fps_last_tick {}
private

Definition at line 289 of file ACMXVK/main_window.hpp.

Referenced by updateCameraFrameRate().

◆ camera_history_clock_started

bool acmxvk::MainWindow::camera_history_clock_started = false
private

Definition at line 218 of file ACMXVK/main_window.hpp.

Referenced by initializeHistory(), and updateCameraHistory().

◆ camera_history_next_update

std::chrono::steady_clock::time_point acmxvk::MainWindow::camera_history_next_update {}
private

Definition at line 290 of file ACMXVK/main_window.hpp.

Referenced by updateCameraHistory().

◆ camera_last_logged_fps

double acmxvk::MainWindow::camera_last_logged_fps = 0.0
private

Definition at line 235 of file ACMXVK/main_window.hpp.

Referenced by updateCameraFrameRate().

◆ camera_recording_clock_logged

bool acmxvk::MainWindow::camera_recording_clock_logged = false
private

Definition at line 186 of file ACMXVK/main_window.hpp.

Referenced by proc().

◆ camera_reported_fps

double acmxvk::MainWindow::camera_reported_fps = 0.0
private

Definition at line 233 of file ACMXVK/main_window.hpp.

Referenced by openInput(), and updateCameraFrameRate().

◆ camera_reported_height

int acmxvk::MainWindow::camera_reported_height = 0
private

Definition at line 212 of file ACMXVK/main_window.hpp.

Referenced by openInput(), and source_dimensions().

◆ camera_reported_width

int acmxvk::MainWindow::camera_reported_width = 0
private

Definition at line 211 of file ACMXVK/main_window.hpp.

Referenced by openInput(), and source_dimensions().

◆ capture

mxvk::VK_Capture acmxvk::MainWindow::capture
private

◆ compatibility_clock_start

std::chrono::steady_clock::time_point acmxvk::MainWindow::compatibility_clock_start
private
Initial value:
=
std::chrono::steady_clock::now()

Definition at line 264 of file ACMXVK/main_window.hpp.

Referenced by updateShaderUniforms().

◆ COMPATIBILITY_SPECTRUM_BIN_COUNT

std::uint32_t acmxvk::MainWindow::COMPATIBILITY_SPECTRUM_BIN_COUNT = 256
staticconstexprprivate

Definition at line 113 of file ACMXVK/main_window.hpp.

Referenced by spectrumBinCount().

◆ configured_passes

std::vector<fs::path> acmxvk::MainWindow::configured_passes
private

◆ counter_disabled

bool acmxvk::MainWindow::counter_disabled
private

◆ crossfade_active

bool acmxvk::MainWindow::crossfade_active = false
private

◆ crossfade_alpha

float acmxvk::MainWindow::crossfade_alpha = 1.0F
private

◆ crossfade_post_process_index

std::size_t acmxvk::MainWindow::crossfade_post_process_index
private
Initial value:
=
std::numeric_limits<std::size_t>::max()

Definition at line 157 of file ACMXVK/main_window.hpp.

Referenced by applyShaderPipeline(), and updateShaderUniforms().

◆ crossfade_previous_sprite

mxvk::VK_Sprite* acmxvk::MainWindow::crossfade_previous_sprite = nullptr
private

Definition at line 133 of file ACMXVK/main_window.hpp.

Referenced by applyShaderPipeline(), and beginCrossfade().

◆ crossfade_shader_index

std::size_t acmxvk::MainWindow::crossfade_shader_index = 0
private

◆ crossfade_start_time

std::chrono::steady_clock::time_point acmxvk::MainWindow::crossfade_start_time
private
Initial value:
=
std::chrono::steady_clock::now()

Definition at line 268 of file ACMXVK/main_window.hpp.

Referenced by beginCrossfade(), and updateCrossfade().

◆ crossfade_start_video_timeline

double acmxvk::MainWindow::crossfade_start_video_timeline = 0.0
private

Definition at line 270 of file ACMXVK/main_window.hpp.

Referenced by beginCrossfade(), and updateCrossfade().

◆ crossfade_uses_video_timeline

bool acmxvk::MainWindow::crossfade_uses_video_timeline = false
private

Definition at line 303 of file ACMXVK/main_window.hpp.

Referenced by beginCrossfade(), and updateCrossfade().

◆ custom_uniform_values

std::vector<float> acmxvk::MainWindow::custom_uniform_values
private

◆ custom_uniforms

◆ decoded_video_frame_count

std::uint64_t acmxvk::MainWindow::decoded_video_frame_count = 0
private

◆ dream_processing_logged

bool acmxvk::MainWindow::dream_processing_logged = false
private

◆ effects_enabled

bool acmxvk::MainWindow::effects_enabled = true
private

◆ file_audio_source

◆ frame_count

std::uint64_t acmxvk::MainWindow::frame_count = 0
private

◆ frame_sprite

◆ generate_output_directory

fs::path acmxvk::MainWindow::generate_output_directory
private

Definition at line 148 of file ACMXVK/main_window.hpp.

Referenced by handleFrameReadback(), and openOutput().

◆ generated_frame_count

std::uint64_t acmxvk::MainWindow::generated_frame_count = 0
private

Definition at line 277 of file ACMXVK/main_window.hpp.

Referenced by handleFrameReadback(), and ~MainWindow().

◆ graphic_rgba

cv::Mat acmxvk::MainWindow::graphic_rgba
private

◆ hdr_cuda_filter_bypass_logged

bool acmxvk::MainWindow::hdr_cuda_filter_bypass_logged = false
private

Definition at line 231 of file ACMXVK/main_window.hpp.

Referenced by uploadInputFrame().

◆ hdr_dnn_compatibility_logged

bool acmxvk::MainWindow::hdr_dnn_compatibility_logged = false
private

Definition at line 228 of file ACMXVK/main_window.hpp.

Referenced by applyDnnEffects().

◆ hdr_dream_compatibility_logged

bool acmxvk::MainWindow::hdr_dream_compatibility_logged = false
private

Definition at line 229 of file ACMXVK/main_window.hpp.

Referenced by applyDeepDreamEffect().

◆ hdr_input_precision_enabled

bool acmxvk::MainWindow::hdr_input_precision_enabled = false
private

◆ hdr_input_upload_logged

bool acmxvk::MainWindow::hdr_input_upload_logged = false
private

Definition at line 232 of file ACMXVK/main_window.hpp.

Referenced by uploadInputFrame().

◆ hdr_output_enabled

bool acmxvk::MainWindow::hdr_output_enabled = false
private

Definition at line 226 of file ACMXVK/main_window.hpp.

Referenced by handleFrameReadback(), onFrameReadbackRgba16(), and openOutput().

◆ hdr_readback_logged

bool acmxvk::MainWindow::hdr_readback_logged = false
private

Definition at line 227 of file ACMXVK/main_window.hpp.

Referenced by onFrameReadbackRgba16().

◆ hdr_transfer_hlg

bool acmxvk::MainWindow::hdr_transfer_hlg = false
private

◆ hdr_transfer_processing_enabled

bool acmxvk::MainWindow::hdr_transfer_processing_enabled = false
private

◆ headless_progress_complete

bool acmxvk::MainWindow::headless_progress_complete = false
private

Definition at line 189 of file ACMXVK/main_window.hpp.

Referenced by handleCaptureEnd(), handleFrameReadback(), and ~MainWindow().

◆ headless_progress_last_emit

std::chrono::steady_clock::time_point acmxvk::MainWindow::headless_progress_last_emit {}
private

Definition at line 292 of file ACMXVK/main_window.hpp.

Referenced by emitHeadlessProgress().

◆ headless_progress_last_percent

int acmxvk::MainWindow::headless_progress_last_percent = -1
private

Definition at line 293 of file ACMXVK/main_window.hpp.

Referenced by emitHeadlessProgress().

◆ headless_shutdown_logged

bool acmxvk::MainWindow::headless_shutdown_logged = false
private

Definition at line 188 of file ACMXVK/main_window.hpp.

Referenced by proc().

◆ history_delay_counter

int acmxvk::MainWindow::history_delay_counter = 0
private

◆ history_initialized

bool acmxvk::MainWindow::history_initialized = false
private

◆ hud_display_fps

double acmxvk::MainWindow::hud_display_fps = 0.0
private

Definition at line 283 of file ACMXVK/main_window.hpp.

Referenced by queueRuntimeHud(), and updateHudFrameRate().

◆ hud_fps_frame_count

std::uint64_t acmxvk::MainWindow::hud_fps_frame_count = 0
private

Definition at line 281 of file ACMXVK/main_window.hpp.

Referenced by event(), startMediaTimelineIfReady(), and updateHudFrameRate().

◆ hud_fps_last_tick

std::chrono::steady_clock::time_point acmxvk::MainWindow::hud_fps_last_tick
private
Initial value:
{
std::chrono::steady_clock::time_point hud_session_start

Definition at line 287 of file ACMXVK/main_window.hpp.

Referenced by event(), startMediaTimelineIfReady(), and updateHudFrameRate().

◆ hud_session_start

std::chrono::steady_clock::time_point acmxvk::MainWindow::hud_session_start
private
Initial value:
{
std::chrono::steady_clock::now()}

Definition at line 285 of file ACMXVK/main_window.hpp.

Referenced by hudWallElapsedSeconds(), and startMediaTimelineIfReady().

◆ human_overlay_rgba

cv::Mat acmxvk::MainWindow::human_overlay_rgba
private

◆ human_overlay_sprite

mxvk::VK_Sprite* acmxvk::MainWindow::human_overlay_sprite = nullptr
private

◆ initial_frame_pending

bool acmxvk::MainWindow::initial_frame_pending = false
private

Definition at line 177 of file ACMXVK/main_window.hpp.

Referenced by initializeSprite(), and proc().

◆ input_model

mxvk::VKAbstractModel acmxvk::MainWindow::input_model
private

◆ input_paused

bool acmxvk::MainWindow::input_paused = false
private

Definition at line 190 of file ACMXVK/main_window.hpp.

Referenced by proc(), toggleFreeze(), togglePause(), and updateCameraHistory().

◆ interface_client

InterfaceClient acmxvk::MainWindow::interface_client
private

◆ interface_connection_warning_reported

bool acmxvk::MainWindow::interface_connection_warning_reported = false
private

Definition at line 152 of file ACMXVK/main_window.hpp.

Referenced by initialize_interface_control(), and sync_interface_control().

◆ interface_last_audio_file_sequence

std::uint32_t acmxvk::MainWindow::interface_last_audio_file_sequence = 0
private

Definition at line 153 of file ACMXVK/main_window.hpp.

Referenced by initialize_interface_control(), and sync_interface_control().

◆ interface_last_reload_sequence

std::uint32_t acmxvk::MainWindow::interface_last_reload_sequence = 0
private

Definition at line 154 of file ACMXVK/main_window.hpp.

Referenced by initialize_interface_control(), and sync_interface_control().

◆ interface_last_sequence

std::uint32_t acmxvk::MainWindow::interface_last_sequence = 0
private

Definition at line 150 of file ACMXVK/main_window.hpp.

Referenced by initialize_interface_control(), and sync_interface_control().

◆ interface_next_connect_attempt

std::chrono::steady_clock::time_point acmxvk::MainWindow::interface_next_connect_attempt {}
private

Definition at line 151 of file ACMXVK/main_window.hpp.

Referenced by initialize_interface_control(), and sync_interface_control().

◆ latest_camera_frame

LatestCameraFrame acmxvk::MainWindow::latest_camera_frame
private

Definition at line 118 of file ACMXVK/main_window.hpp.

Referenced by openInput(), readLatestCameraFrame(), and ~MainWindow().

◆ latest_camera_history_rgba

cv::Mat acmxvk::MainWindow::latest_camera_history_rgba
private

◆ legacy_alpha

float acmxvk::MainWindow::legacy_alpha = 0.1F
private

Definition at line 237 of file ACMXVK/main_window.hpp.

Referenced by updateShaderUniforms().

◆ legacy_alpha_increasing

bool acmxvk::MainWindow::legacy_alpha_increasing = true
private

Definition at line 261 of file ACMXVK/main_window.hpp.

Referenced by updateShaderUniforms().

◆ media_clock_sync_logged

bool acmxvk::MainWindow::media_clock_sync_logged = false
private

Definition at line 185 of file ACMXVK/main_window.hpp.

Referenced by readClockedVideoFrame().

◆ media_timeline_started

bool acmxvk::MainWindow::media_timeline_started = false
private

◆ midi_action_mappings

std::vector<midi::MidiMapping> acmxvk::MainWindow::midi_action_mappings
private

Definition at line 359 of file ACMXVK/main_window.hpp.

Referenced by applyMidiMap(), configureMidiMappings(), and dispatchMidiKnobs().

◆ midi_cc_mappings

std::vector<MidiCcMapping> acmxvk::MainWindow::midi_cc_mappings
private

Definition at line 361 of file ACMXVK/main_window.hpp.

Referenced by applyMidiCc(), configureMidiMappings(), and openMidi().

◆ midi_input

std::unique_ptr<midi::MidiInput> acmxvk::MainWindow::midi_input
private

Definition at line 358 of file ACMXVK/main_window.hpp.

Referenced by openMidi(), and pollMidi().

◆ midi_knob_states

std::vector<MidiKnobState> acmxvk::MainWindow::midi_knob_states
private

Definition at line 360 of file ACMXVK/main_window.hpp.

Referenced by applyMidiMap(), configureMidiMappings(), and dispatchMidiKnobs().

◆ midi_slider_uniform_indices

std::array<int, 4> acmxvk::MainWindow::midi_slider_uniform_indices {-1, -1, -1, -1}
private

◆ model_3d_active

bool acmxvk::MainWindow::model_3d_active = false
private

◆ model_auto_rotate

bool acmxvk::MainWindow::model_auto_rotate = false
private

Definition at line 166 of file ACMXVK/main_window.hpp.

Referenced by event(), initializeModel(), and recordModel().

◆ model_camera_distance

float acmxvk::MainWindow::model_camera_distance = 0.0F
private

Definition at line 244 of file ACMXVK/main_window.hpp.

Referenced by event(), and recordModel().

◆ model_camera_movement_speed

float acmxvk::MainWindow::model_camera_movement_speed = 0.1F
private

Definition at line 245 of file ACMXVK/main_window.hpp.

Referenced by recordModel().

◆ model_camera_rotation_speed

float acmxvk::MainWindow::model_camera_rotation_speed = 5.0F
private

Definition at line 246 of file ACMXVK/main_window.hpp.

Referenced by dispatchMidiModelAction(), and recordModel().

◆ model_effect_shader

fs::path acmxvk::MainWindow::model_effect_shader
private

◆ model_fragment_uniforms

mxvk::ModelFragmentUniforms acmxvk::MainWindow::model_fragment_uniforms {}
private

Definition at line 260 of file ACMXVK/main_window.hpp.

Referenced by recordModel(), and updateShaderUniforms().

◆ model_initialized

◆ model_last_mouse_x

int acmxvk::MainWindow::model_last_mouse_x = 0
private

Definition at line 262 of file ACMXVK/main_window.hpp.

Referenced by event().

◆ model_last_mouse_y

int acmxvk::MainWindow::model_last_mouse_y = 0
private

Definition at line 263 of file ACMXVK/main_window.hpp.

Referenced by event().

◆ model_last_render_time

std::chrono::steady_clock::time_point acmxvk::MainWindow::model_last_render_time
private
Initial value:
=
std::chrono::steady_clock::now()

Definition at line 266 of file ACMXVK/main_window.hpp.

Referenced by event(), initializeModel(), and recordModel().

◆ model_mouse_dragging

bool acmxvk::MainWindow::model_mouse_dragging = false
private

Definition at line 169 of file ACMXVK/main_window.hpp.

Referenced by event().

◆ model_pitch_degrees

float acmxvk::MainWindow::model_pitch_degrees = 0.0F
private

Definition at line 239 of file ACMXVK/main_window.hpp.

Referenced by event(), and recordModel().

◆ model_rotation_speed

float acmxvk::MainWindow::model_rotation_speed = 18.0F
private

Definition at line 248 of file ACMXVK/main_window.hpp.

Referenced by event(), and recordModel().

◆ model_rotation_x_degrees

float acmxvk::MainWindow::model_rotation_x_degrees = 0.0F
private

Definition at line 241 of file ACMXVK/main_window.hpp.

Referenced by dispatchMidiModelAction(), event(), and recordModel().

◆ model_rotation_y_degrees

float acmxvk::MainWindow::model_rotation_y_degrees = 0.0F
private

Definition at line 242 of file ACMXVK/main_window.hpp.

Referenced by dispatchMidiModelAction(), event(), and recordModel().

◆ model_rotation_z_degrees

float acmxvk::MainWindow::model_rotation_z_degrees = 0.0F
private

Definition at line 243 of file ACMXVK/main_window.hpp.

Referenced by dispatchMidiModelAction(), event(), and recordModel().

◆ model_scale

float acmxvk::MainWindow::model_scale = 1.0F
private

Definition at line 247 of file ACMXVK/main_window.hpp.

Referenced by adjustModelScale(), event(), and recordModel().

◆ model_scale_oscillation_active

bool acmxvk::MainWindow::model_scale_oscillation_active = false
private

Definition at line 168 of file ACMXVK/main_window.hpp.

Referenced by adjustModelScale(), event(), queueRuntimeHud(), and recordModel().

◆ model_scale_oscillation_phase

float acmxvk::MainWindow::model_scale_oscillation_phase = 0.0F
private

Definition at line 258 of file ACMXVK/main_window.hpp.

Referenced by recordModel().

◆ model_texture_prepass_active

bool acmxvk::MainWindow::model_texture_prepass_active = false
private

◆ model_video_timeline_initialized

bool acmxvk::MainWindow::model_video_timeline_initialized = false
private

Definition at line 302 of file ACMXVK/main_window.hpp.

Referenced by event(), and recordModel().

◆ model_view_rotation_degrees

float acmxvk::MainWindow::model_view_rotation_degrees = 0.0F
private

Definition at line 249 of file ACMXVK/main_window.hpp.

Referenced by event(), and recordModel().

◆ model_wave_active

bool acmxvk::MainWindow::model_wave_active = false
private

Definition at line 167 of file ACMXVK/main_window.hpp.

Referenced by event(), queueRuntimeHud(), and recordModel().

◆ model_wave_amplitude_x

float acmxvk::MainWindow::model_wave_amplitude_x = 0.0F
private

Definition at line 250 of file ACMXVK/main_window.hpp.

Referenced by recordModel().

◆ model_wave_amplitude_y

float acmxvk::MainWindow::model_wave_amplitude_y = 0.0F
private

Definition at line 251 of file ACMXVK/main_window.hpp.

Referenced by recordModel().

◆ model_wave_amplitude_z

float acmxvk::MainWindow::model_wave_amplitude_z = 0.0F
private

Definition at line 252 of file ACMXVK/main_window.hpp.

Referenced by recordModel().

◆ model_wave_audio_step

float acmxvk::MainWindow::model_wave_audio_step = 0.0F
private

Definition at line 257 of file ACMXVK/main_window.hpp.

Referenced by recordModel(), and updateShaderUniforms().

◆ model_wave_direction_x

float acmxvk::MainWindow::model_wave_direction_x = 1.0F
private

Definition at line 253 of file ACMXVK/main_window.hpp.

Referenced by recordModel().

◆ model_wave_direction_y

float acmxvk::MainWindow::model_wave_direction_y = 1.0F
private

Definition at line 254 of file ACMXVK/main_window.hpp.

Referenced by recordModel().

◆ model_wave_direction_z

float acmxvk::MainWindow::model_wave_direction_z = 1.0F
private

Definition at line 255 of file ACMXVK/main_window.hpp.

Referenced by recordModel().

◆ model_wave_phase

float acmxvk::MainWindow::model_wave_phase = 0.0F
private

Definition at line 256 of file ACMXVK/main_window.hpp.

Referenced by recordModel().

◆ model_yaw_degrees

float acmxvk::MainWindow::model_yaw_degrees = 270.0F
private

Definition at line 240 of file ACMXVK/main_window.hpp.

Referenced by event(), and recordModel().

◆ mouse_pressed

bool acmxvk::MainWindow::mouse_pressed = false
private

Definition at line 175 of file ACMXVK/main_window.hpp.

Referenced by event(), and updateShaderUniforms().

◆ mouse_x

float acmxvk::MainWindow::mouse_x = 0.0F
private

Definition at line 173 of file ACMXVK/main_window.hpp.

Referenced by event(), and updateShaderUniforms().

◆ mouse_y

float acmxvk::MainWindow::mouse_y = 0.0F
private

Definition at line 174 of file ACMXVK/main_window.hpp.

Referenced by event(), and updateShaderUniforms().

◆ multipass_enabled

bool acmxvk::MainWindow::multipass_enabled = false
private

◆ next_clock_output_frame

std::uint64_t acmxvk::MainWindow::next_clock_output_frame = 0
private

Definition at line 275 of file ACMXVK/main_window.hpp.

Referenced by proc().

◆ next_render_tick

std::chrono::steady_clock::time_point acmxvk::MainWindow::next_render_tick {}
private

Definition at line 294 of file ACMXVK/main_window.hpp.

Referenced by paceMaximizedRendering().

◆ observed_midi_drops

std::uint64_t acmxvk::MainWindow::observed_midi_drops = 0
private

Definition at line 363 of file ACMXVK/main_window.hpp.

Referenced by pollMidi().

◆ options

Options acmxvk::MainWindow::options
private

Definition at line 115 of file ACMXVK/main_window.hpp.

Referenced by activeShaderPipeline(), adjustAudioSensitivity(), adjustTimeSpeed(), apply_interface_audio_file_state(), apply_interface_deep_dream_state(), apply_interface_gpu_filter_state(), apply_interface_overlay_state(), apply_interface_playback_state(), applyCustomUniformOverrides(), applyDeepDreamEffect(), applyDnnEffects(), applyMidiCc(), applyShaderPipeline(), beginCrossfade(), configureMidiMappings(), configureRenderResolution(), continuousReadbackEnabled(), dispatchMidiAction(), emitHeadlessProgress(), event(), handleCaptureEnd(), handleDeepDreamRuntimeError(), handleFrameReadback(), historyCacheEnabled(), initialize_interface_control(), initializeDeepDream(), initializeDnn(), initializeGpuFilters(), initializeHistory(), initializeModel(), initializeOverlayFont(), initializeSprite(), isMidiModelAction(), loadPlaylist(), loadShaderPasses(), loadShaders(), MainWindow(), mediaClockSeconds(), midiActionKey(), openAudio(), openInput(), openMidi(), openOutput(), openVideoCapture(), outputFrameRate(), paceMaximizedRendering(), pollMidi(), proc(), queueOverlayText(), queueRuntimeHud(), readInputFrame(), readLatestCameraFrame(), recordShaderResources(), requestSnapshot(), resetAudioWarmup(), resetAutopilotInterval(), resolveConfiguredResourcePaths(), setMidiUniform(), setSourcePlaybackClockPaused(), source_dimensions(), spectrumHistoryEnabledForShaders(), start_requested_audio_recording(), startLiveAudioRecordingIfNeeded(), sync_interface_control(), toggleAutopilot(), updateAudioWarmup(), updateAutopilot(), updateCameraHistory(), updateCrossfade(), updateHumanOverlayTexture(), updateRandomDreamSettings(), updateShaderUniforms(), updateWindowTitle(), and ~MainWindow().

◆ output_frame_count

std::uint64_t acmxvk::MainWindow::output_frame_count = 0
private

◆ overlay_font_size

int acmxvk::MainWindow::overlay_font_size = 18
private

Definition at line 201 of file ACMXVK/main_window.hpp.

Referenced by initializeOverlayFont(), and queueOverlayText().

◆ pending_snapshot_format

SnapshotFormat acmxvk::MainWindow::pending_snapshot_format = SnapshotFormat::Png
private

Definition at line 204 of file ACMXVK/main_window.hpp.

Referenced by onFrameReadbackScheduled(), and requestSnapshot().

◆ playlist

◆ playlist_enabled

◆ playlist_index

std::size_t acmxvk::MainWindow::playlist_index = 0
private

◆ png_frame_count

std::uint64_t acmxvk::MainWindow::png_frame_count = 0
private

Definition at line 276 of file ACMXVK/main_window.hpp.

Referenced by emitHeadlessProgress(), handleFrameReadback(), and ~MainWindow().

◆ png_output_directory

fs::path acmxvk::MainWindow::png_output_directory
private

Definition at line 147 of file ACMXVK/main_window.hpp.

Referenced by handleFrameReadback(), and openOutput().

◆ post_process_sprites

std::vector<mxvk::VK_Sprite *> acmxvk::MainWindow::post_process_sprites
private

◆ preview_overlay_font_size

int acmxvk::MainWindow::preview_overlay_font_size = 18
private

Definition at line 202 of file ACMXVK/main_window.hpp.

Referenced by initializeOverlayFont(), and queueOverlayText().

◆ previous_autopilot_video_frame

std::uint64_t acmxvk::MainWindow::previous_autopilot_video_frame = 0
private

Definition at line 215 of file ACMXVK/main_window.hpp.

Referenced by autopilotFrameAdvance().

◆ previous_frame

std::chrono::steady_clock::time_point acmxvk::MainWindow::previous_frame {std::chrono::steady_clock::now()}
private

Definition at line 298 of file ACMXVK/main_window.hpp.

Referenced by event(), resetShaderTime(), toggleFreeze(), and updateShaderUniforms().

◆ previous_model_video_frame

std::uint64_t acmxvk::MainWindow::previous_model_video_frame = 0
private

Definition at line 280 of file ACMXVK/main_window.hpp.

Referenced by recordModel().

◆ previous_random_dream_timeline

double acmxvk::MainWindow::previous_random_dream_timeline = 0.0
private

Definition at line 309 of file ACMXVK/main_window.hpp.

Referenced by updateRandomDreamSettings().

◆ previous_video_shader_timeline

double acmxvk::MainWindow::previous_video_shader_timeline = 0.0
private

Definition at line 299 of file ACMXVK/main_window.hpp.

Referenced by resetShaderTime(), and updateShaderUniforms().

◆ random_dream_period

std::uint64_t acmxvk::MainWindow::random_dream_period
private
Initial value:
=
std::numeric_limits<std::uint64_t>::max()

Definition at line 307 of file ACMXVK/main_window.hpp.

Referenced by updateRandomDreamSettings().

◆ random_dream_rng

std::mt19937 acmxvk::MainWindow::random_dream_rng {std::random_device{}()}
private

Definition at line 306 of file ACMXVK/main_window.hpp.

Referenced by updateRandomDreamSettings().

◆ random_dream_timeline_initialized

bool acmxvk::MainWindow::random_dream_timeline_initialized = false
private

Definition at line 310 of file ACMXVK/main_window.hpp.

Referenced by updateRandomDreamSettings().

◆ readback_requests

std::deque<ReadbackRequest> acmxvk::MainWindow::readback_requests
private

Definition at line 284 of file ACMXVK/main_window.hpp.

Referenced by handleFrameReadback(), and onFrameReadbackScheduled().

◆ recording_complete

bool acmxvk::MainWindow::recording_complete = false
private

Definition at line 187 of file ACMXVK/main_window.hpp.

Referenced by handleFrameReadback(), and proc().

◆ recording_fps

double acmxvk::MainWindow::recording_fps = 0.0
private

◆ recording_frame_due

bool acmxvk::MainWindow::recording_frame_due = false
private

Definition at line 183 of file ACMXVK/main_window.hpp.

Referenced by onFrameReadbackScheduled(), proc(), and readClockedVideoFrame().

◆ recording_frame_has_pts

bool acmxvk::MainWindow::recording_frame_has_pts = false
private

Definition at line 184 of file ACMXVK/main_window.hpp.

Referenced by onFrameReadbackScheduled(), proc(), and readClockedVideoFrame().

◆ recording_frame_pts

std::uint64_t acmxvk::MainWindow::recording_frame_pts = 0
private

Definition at line 274 of file ACMXVK/main_window.hpp.

Referenced by onFrameReadbackScheduled(), proc(), and readClockedVideoFrame().

◆ recording_height

int acmxvk::MainWindow::recording_height = 0
private

Definition at line 210 of file ACMXVK/main_window.hpp.

Referenced by handleFrameReadback(), and openOutput().

◆ recording_width

int acmxvk::MainWindow::recording_width = 0
private

Definition at line 209 of file ACMXVK/main_window.hpp.

Referenced by handleFrameReadback(), and openOutput().

◆ render_pacing_started

bool acmxvk::MainWindow::render_pacing_started = false
private

Definition at line 180 of file ACMXVK/main_window.hpp.

Referenced by paceMaximizedRendering().

◆ rendering_frozen

bool acmxvk::MainWindow::rendering_frozen = false
private

◆ shader_history_required

bool acmxvk::MainWindow::shader_history_required = false
private

◆ shader_index

std::size_t acmxvk::MainWindow::shader_index = 0
private

◆ shader_library_directory

fs::path acmxvk::MainWindow::shader_library_directory
private

◆ shader_locked

bool acmxvk::MainWindow::shader_locked = false
private

◆ shader_manifest_path

fs::path acmxvk::MainWindow::shader_manifest_path
private

Definition at line 146 of file ACMXVK/main_window.hpp.

Referenced by loadShaders().

◆ shader_reload_overrides

std::unordered_map<std::string, fs::path> acmxvk::MainWindow::shader_reload_overrides
private

Definition at line 139 of file ACMXVK/main_window.hpp.

Referenced by apply_interface_shader_reload(), and resolvedShaderPath().

◆ shader_spectrum_history_required

bool acmxvk::MainWindow::shader_spectrum_history_required = false
private

Definition at line 172 of file ACMXVK/main_window.hpp.

Referenced by apply_interface_shader_reload(), and recordShaderResources().

◆ shader_spectrum_required

bool acmxvk::MainWindow::shader_spectrum_required = false
private

◆ shader_time

double acmxvk::MainWindow::shader_time = 0.0
private

◆ shader_time_active

bool acmxvk::MainWindow::shader_time_active = true
private

Definition at line 193 of file ACMXVK/main_window.hpp.

Referenced by event(), and updateShaderUniforms().

◆ shaders

◆ snapshot_count

std::uint64_t acmxvk::MainWindow::snapshot_count = 0
private

Definition at line 278 of file ACMXVK/main_window.hpp.

Referenced by handleFrameReadback().

◆ snapshot_pending

bool acmxvk::MainWindow::snapshot_pending = false
private

Definition at line 203 of file ACMXVK/main_window.hpp.

Referenced by onFrameReadbackScheduled(), proc(), and requestSnapshot().

◆ snapshot_writer

SnapshotWriter acmxvk::MainWindow::snapshot_writer
private

Definition at line 119 of file ACMXVK/main_window.hpp.

Referenced by handleFrameReadback(), requestSnapshot(), and ~MainWindow().

◆ source_frame_received

bool acmxvk::MainWindow::source_frame_received = false
private

◆ source_kind

◆ source_playback_clock_paused

bool acmxvk::MainWindow::source_playback_clock_paused = false
private

◆ source_playback_clock_start

std::chrono::steady_clock::time_point acmxvk::MainWindow::source_playback_clock_start {}
private

Definition at line 295 of file ACMXVK/main_window.hpp.

Referenced by mediaClockSeconds(), and startMediaTimelineIfReady().

◆ source_playback_pause_start

std::chrono::steady_clock::time_point acmxvk::MainWindow::source_playback_pause_start {}
private

◆ source_playback_paused_duration

std::chrono::steady_clock::duration acmxvk::MainWindow::source_playback_paused_duration {}
private

◆ spectrum_scale_by_sensitivity

bool acmxvk::MainWindow::spectrum_scale_by_sensitivity = false
private

Definition at line 196 of file ACMXVK/main_window.hpp.

Referenced by event(), and updateShaderUniforms().

◆ video_duration_seconds

double acmxvk::MainWindow::video_duration_seconds = 0.0
private

◆ video_hdr_info

VideoHdrInfo acmxvk::MainWindow::video_hdr_info
private

Definition at line 222 of file ACMXVK/main_window.hpp.

Referenced by openInput(), and openOutput().

◆ video_shader_clock_logged

bool acmxvk::MainWindow::video_shader_clock_logged = false
private

Definition at line 301 of file ACMXVK/main_window.hpp.

Referenced by updateShaderUniforms().

◆ video_shader_timeline_initialized

bool acmxvk::MainWindow::video_shader_timeline_initialized = false
private

Definition at line 300 of file ACMXVK/main_window.hpp.

Referenced by resetShaderTime(), and updateShaderUniforms().

◆ video_source_fps

double acmxvk::MainWindow::video_source_fps = 0.0
private

◆ video_source_frame_count

std::uint64_t acmxvk::MainWindow::video_source_frame_count = 0
private

◆ watermark_enabled

bool acmxvk::MainWindow::watermark_enabled = !options.watermark_text.empty()
private

Definition at line 197 of file ACMXVK/main_window.hpp.

Referenced by apply_interface_overlay_state(), event(), and queueOverlayText().

◆ window_title_last_update

std::chrono::steady_clock::time_point acmxvk::MainWindow::window_title_last_update {}
private

Definition at line 291 of file ACMXVK/main_window.hpp.

Referenced by updateWindowTitle().

◆ writer


The documentation for this class was generated from the following files: