From 3d53f157dede7fa553294fdd50e0dcfd45ba9a8e Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Mon, 18 Apr 2016 08:27:58 -0400 Subject: [PATCH] Output selection now takes effect. So I can stop accidentally committing changes back and forth. --- Machines/Electron/Electron.cpp | 1 - OSBindings/Mac/Clock Signal/Wrappers/CSElectron.mm | 7 +++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Machines/Electron/Electron.cpp b/Machines/Electron/Electron.cpp index 81226b084..a1e2465b6 100644 --- a/Machines/Electron/Electron.cpp +++ b/Machines/Electron/Electron.cpp @@ -66,7 +66,6 @@ void Machine::setup_output(float aspect_ratio) "texValue >>= 4 - (int(icoordinate.x * 8) & 4);" "return vec3( uvec3(texValue) & uvec3(4u, 2u, 1u));" "}"); - _crt->set_output_device(Outputs::CRT::Monitor); // TODO: as implied below, I've introduced a clock's latency into the graphics pipeline somehow. Investigate. _crt->set_visible_area(_crt->get_rect_for_area(first_graphics_line - 3, 256, (first_graphics_cycle+1) * crt_cycles_multiplier, 80 * crt_cycles_multiplier, 4.0f / 3.0f)); diff --git a/OSBindings/Mac/Clock Signal/Wrappers/CSElectron.mm b/OSBindings/Mac/Clock Signal/Wrappers/CSElectron.mm index b31d919d6..7900a4776 100644 --- a/OSBindings/Mac/Clock Signal/Wrappers/CSElectron.mm +++ b/OSBindings/Mac/Clock Signal/Wrappers/CSElectron.mm @@ -152,6 +152,13 @@ } } +- (void)setUseTelevisionOutput:(BOOL)useTelevisionOutput { + @synchronized(self) { + _useTelevisionOutput = useTelevisionOutput; + _electron.get_crt()->set_output_device(useTelevisionOutput ? Outputs::CRT::Television : Outputs::CRT::Monitor); + } +} + - (void)setupOutputWithAspectRatio:(float)aspectRatio { @synchronized(self) { _electron.setup_output(aspectRatio);