mirror of https://github.com/stella-emu/stella.git
removed option to disable scanline interpolation
This commit is contained in:
parent
20936a46a0
commit
285583f959
|
@ -1305,16 +1305,6 @@
|
||||||
<td>Alt + 7</td>
|
<td>Alt + 7</td>
|
||||||
<td>Cmd + 7</td>
|
<td>Cmd + 7</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
|
||||||
<td>Disable scanline interpolation</td>
|
|
||||||
<td>Shift-Alt + 8</td>
|
|
||||||
<td>Shift-Cmd + 8</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Enable scanline interpolation</td>
|
|
||||||
<td>Alt + 8</td>
|
|
||||||
<td>Cmd + 8</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Select previous 'Custom' mode attribute (*)</td>
|
<td>Select previous 'Custom' mode attribute (*)</td>
|
||||||
<td>Shift-Alt + 9</td>
|
<td>Shift-Alt + 9</td>
|
||||||
|
@ -2002,12 +1992,6 @@
|
||||||
<td>TV effects scanline intensity, where 0 means completely off. Note: No scanlines in 1x mode snapshots.</td>
|
<td>TV effects scanline intensity, where 0 means completely off. Note: No scanlines in 1x mode snapshots.</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td><pre>-tv.scaninter <1|0></pre></td>
|
|
||||||
<td>Blargg TV effects scanline interpolation, resulting
|
|
||||||
in blending/smoothing of the scanlines.</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><pre>-tv.contrast <number></pre></td>
|
<td><pre>-tv.contrast <number></pre></td>
|
||||||
<td>Blargg TV effects 'contrast' (only available in custom mode,
|
<td>Blargg TV effects 'contrast' (only available in custom mode,
|
||||||
|
@ -2640,7 +2624,6 @@
|
||||||
(needs to be manually adjusted for your particular hardware)</td><td>-tv.phosblend</td></tr>
|
(needs to be manually adjusted for your particular hardware)</td><td>-tv.phosblend</td></tr>
|
||||||
<tr><td>Scanline intensity</td><td>Sets scanline black-level intensity.</br>
|
<tr><td>Scanline intensity</td><td>Sets scanline black-level intensity.</br>
|
||||||
Note: No scanlines in 1x mode snapshots.</td><td>-tv.scanlines</td></tr>
|
Note: No scanlines in 1x mode snapshots.</td><td>-tv.scanlines</td></tr>
|
||||||
<tr><td>Scanline interpolation</td><td>Smooth/blend scanlines into image</td><td>-tv.scaninter</td></tr>
|
|
||||||
<tr><td>Clone Composite</td><td>Copy 'Composite' attributes to 'Custom' sliders</td><td> </td></tr>
|
<tr><td>Clone Composite</td><td>Copy 'Composite' attributes to 'Custom' sliders</td><td> </td></tr>
|
||||||
<tr><td>Clone S-Video</td><td>Copy 'S-Video' attributes to 'Custom' sliders</td><td> </td></tr>
|
<tr><td>Clone S-Video</td><td>Copy 'S-Video' attributes to 'Custom' sliders</td><td> </td></tr>
|
||||||
<tr><td>Clone RGB</td><td>Copy 'RGB' attributes to 'Custom' sliders</td><td> </td></tr>
|
<tr><td>Clone RGB</td><td>Copy 'RGB' attributes to 'Custom' sliders</td><td> </td></tr>
|
||||||
|
|
|
@ -249,16 +249,85 @@ void PhysicalKeyboardHandler::handleEvent(StellaKey key, StellaMod mod, bool pre
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
bool handled = true;
|
|
||||||
EventHandlerState estate = myHandler.state();
|
|
||||||
|
|
||||||
// Immediately store the key state
|
// Immediately store the key state
|
||||||
myEvent.setKey(key, pressed);
|
myEvent.setKey(key, pressed);
|
||||||
|
|
||||||
// An attempt to speed up event processing; we quickly check for
|
// An attempt to speed up event processing; we quickly check for
|
||||||
// Control or Alt/Cmd combos first
|
// Control or Alt/Cmd combos first
|
||||||
|
// and don't pass the key on if we've already taken care of it
|
||||||
|
if(handleAltEvent(key, mod, pressed) || handleControlEvent(key, mod, pressed))
|
||||||
|
return;
|
||||||
|
|
||||||
|
EventHandlerState estate = myHandler.state();
|
||||||
|
|
||||||
|
// Arrange the logic to take advantage of short-circuit evaluation
|
||||||
|
if(!(StellaModTest::isControl(mod) || StellaModTest::isShift(mod) || StellaModTest::isAlt(mod)))
|
||||||
|
{
|
||||||
|
// Special handling for Escape key
|
||||||
|
// Basically, exit whichever mode we're currently in
|
||||||
|
if(pressed && key == KBDK_ESCAPE)
|
||||||
|
{
|
||||||
|
switch(estate)
|
||||||
|
{
|
||||||
|
case EventHandlerState::PAUSE:
|
||||||
|
myHandler.changeStateByEvent(Event::PauseMode);
|
||||||
|
return;
|
||||||
|
case EventHandlerState::CMDMENU:
|
||||||
|
myHandler.changeStateByEvent(Event::CmdMenuMode);
|
||||||
|
return;
|
||||||
|
case EventHandlerState::TIMEMACHINE:
|
||||||
|
myHandler.changeStateByEvent(Event::TimeMachineMode);
|
||||||
|
return;
|
||||||
|
#if 0 // FIXME - exits ROM too, when it should just go back to ROM
|
||||||
|
case EventHandlerState::DEBUGGER:
|
||||||
|
myHandler.changeStateByEvent(Event::DebuggerMode);
|
||||||
|
return;
|
||||||
|
#endif
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Handle keys which switch eventhandler state
|
||||||
|
if(!pressed && myHandler.changeStateByEvent(myKeyTable[key][kEmulationMode]))
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Otherwise, let the event handler deal with it
|
||||||
|
switch(estate)
|
||||||
|
{
|
||||||
|
case EventHandlerState::EMULATION:
|
||||||
|
myHandler.handleEvent(myKeyTable[key][kEmulationMode], pressed);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case EventHandlerState::PAUSE:
|
||||||
|
switch(myKeyTable[key][kEmulationMode])
|
||||||
|
{
|
||||||
|
case Event::TakeSnapshot:
|
||||||
|
case Event::DebuggerMode:
|
||||||
|
myHandler.handleEvent(myKeyTable[key][kEmulationMode], pressed);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
if(myHandler.hasOverlay())
|
||||||
|
myHandler.overlay().handleKeyEvent(key, mod, pressed);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
bool PhysicalKeyboardHandler::handleAltEvent(StellaKey key, StellaMod mod, bool pressed)
|
||||||
|
{
|
||||||
|
bool handled = true;
|
||||||
|
|
||||||
if(StellaModTest::isAlt(mod) && pressed)
|
if(StellaModTest::isAlt(mod) && pressed)
|
||||||
{
|
{
|
||||||
|
EventHandlerState estate = myHandler.state();
|
||||||
#ifdef BSPF_MACOS
|
#ifdef BSPF_MACOS
|
||||||
// These keys work in all states
|
// These keys work in all states
|
||||||
if(key == KBDK_Q)
|
if(key == KBDK_Q)
|
||||||
|
@ -271,7 +340,7 @@ void PhysicalKeyboardHandler::handleEvent(StellaKey key, StellaMod mod, bool pre
|
||||||
{
|
{
|
||||||
// Swallow Alt-Tab, but remember that it happened
|
// Swallow Alt-Tab, but remember that it happened
|
||||||
myAltKeyCounter = 1;
|
myAltKeyCounter = 1;
|
||||||
return;
|
return true;
|
||||||
}
|
}
|
||||||
else if(key == KBDK_RETURN)
|
else if(key == KBDK_RETURN)
|
||||||
{
|
{
|
||||||
|
@ -355,10 +424,6 @@ void PhysicalKeyboardHandler::handleEvent(StellaKey key, StellaMod mod, bool pre
|
||||||
myOSystem.frameBuffer().tiaSurface().setScanlineIntensity(+5);
|
myOSystem.frameBuffer().tiaSurface().setScanlineIntensity(+5);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case KBDK_8: // Alt-8 turns toggles scanline interpolation
|
|
||||||
myOSystem.frameBuffer().tiaSurface().toggleScanlineInterpolation();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case KBDK_9: // Alt-9 selects various custom adjustables for NTSC filtering
|
case KBDK_9: // Alt-9 selects various custom adjustables for NTSC filtering
|
||||||
if(myOSystem.frameBuffer().tiaSurface().ntscEnabled())
|
if(myOSystem.frameBuffer().tiaSurface().ntscEnabled())
|
||||||
{
|
{
|
||||||
|
@ -467,13 +532,25 @@ void PhysicalKeyboardHandler::handleEvent(StellaKey key, StellaMod mod, bool pre
|
||||||
default:
|
default:
|
||||||
handled = false;
|
handled = false;
|
||||||
break;
|
break;
|
||||||
}
|
} // switch
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
handled = false;
|
handled = false;
|
||||||
}
|
} // alt
|
||||||
else if(StellaModTest::isControl(mod) && pressed && myUseCtrlKeyFlag)
|
else
|
||||||
|
handled = false;
|
||||||
|
|
||||||
|
return handled;
|
||||||
|
}
|
||||||
|
|
||||||
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
bool PhysicalKeyboardHandler::handleControlEvent(StellaKey key, StellaMod mod, bool pressed)
|
||||||
|
{
|
||||||
|
bool handled = true;
|
||||||
|
|
||||||
|
if(StellaModTest::isControl(mod) && pressed && myUseCtrlKeyFlag)
|
||||||
{
|
{
|
||||||
|
EventHandlerState estate = myHandler.state();
|
||||||
// These keys work in all states
|
// These keys work in all states
|
||||||
if(key == KBDK_Q)
|
if(key == KBDK_Q)
|
||||||
{
|
{
|
||||||
|
@ -524,73 +601,13 @@ void PhysicalKeyboardHandler::handleEvent(StellaKey key, StellaMod mod, bool pre
|
||||||
default:
|
default:
|
||||||
handled = false;
|
handled = false;
|
||||||
break;
|
break;
|
||||||
}
|
} // switch
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
handled = false;
|
handled = false;
|
||||||
}
|
} // control
|
||||||
else
|
else
|
||||||
handled = false;
|
handled = false;
|
||||||
|
|
||||||
// Don't pass the key on if we've already taken care of it
|
return handled;
|
||||||
if(handled) return;
|
|
||||||
|
|
||||||
// Arrange the logic to take advantage of short-circuit evaluation
|
|
||||||
if(!(StellaModTest::isControl(mod) || StellaModTest::isShift(mod) || StellaModTest::isAlt(mod)))
|
|
||||||
{
|
|
||||||
// Special handling for Escape key
|
|
||||||
// Basically, exit whichever mode we're currently in
|
|
||||||
if(pressed && key == KBDK_ESCAPE)
|
|
||||||
{
|
|
||||||
switch(estate)
|
|
||||||
{
|
|
||||||
case EventHandlerState::PAUSE:
|
|
||||||
myHandler.changeStateByEvent(Event::PauseMode);
|
|
||||||
return;
|
|
||||||
case EventHandlerState::CMDMENU:
|
|
||||||
myHandler.changeStateByEvent(Event::CmdMenuMode);
|
|
||||||
return;
|
|
||||||
case EventHandlerState::TIMEMACHINE:
|
|
||||||
myHandler.changeStateByEvent(Event::TimeMachineMode);
|
|
||||||
return;
|
|
||||||
#if 0 // FIXME - exits ROM too, when it should just go back to ROM
|
|
||||||
case EventHandlerState::DEBUGGER:
|
|
||||||
myHandler.changeStateByEvent(Event::DebuggerMode);
|
|
||||||
return;
|
|
||||||
#endif
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Handle keys which switch eventhandler state
|
|
||||||
if(!pressed && myHandler.changeStateByEvent(myKeyTable[key][kEmulationMode]))
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Otherwise, let the event handler deal with it
|
|
||||||
switch(estate)
|
|
||||||
{
|
|
||||||
case EventHandlerState::EMULATION:
|
|
||||||
myHandler.handleEvent(myKeyTable[key][kEmulationMode], pressed);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case EventHandlerState::PAUSE:
|
|
||||||
switch(myKeyTable[key][kEmulationMode])
|
|
||||||
{
|
|
||||||
case Event::TakeSnapshot:
|
|
||||||
case Event::DebuggerMode:
|
|
||||||
myHandler.handleEvent(myKeyTable[key][kEmulationMode], pressed);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
if(myHandler.hasOverlay())
|
|
||||||
myHandler.overlay().handleKeyEvent(key, mod, pressed);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
|
@ -65,12 +65,17 @@ class PhysicalKeyboardHandler
|
||||||
bool& useCtrlKey() { return myUseCtrlKeyFlag; }
|
bool& useCtrlKey() { return myUseCtrlKeyFlag; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
bool handleAltEvent(StellaKey key, StellaMod mod, bool pressed);
|
||||||
|
bool handleControlEvent(StellaKey key, StellaMod mod, bool pressed);
|
||||||
|
|
||||||
OSystem& myOSystem;
|
OSystem& myOSystem;
|
||||||
EventHandler& myHandler;
|
EventHandler& myHandler;
|
||||||
Event& myEvent;
|
Event& myEvent;
|
||||||
|
|
||||||
// Array of key events, indexed by StellaKey
|
// Array of key events, indexed by StellaKey
|
||||||
Event::Type myKeyTable[KBDK_LAST][kNumModes];
|
Event::Type myKeyTable[KBDK_LAST][kNumModes];
|
||||||
|
// Array of mod keys, indexed by StellaKey
|
||||||
|
StellaMod myModKeyTable[KBDK_LAST][kNumModes];
|
||||||
|
|
||||||
// Sometimes key combos with the Alt key become 'stuck' after the
|
// Sometimes key combos with the Alt key become 'stuck' after the
|
||||||
// window changes state, and we want to ignore that event
|
// window changes state, and we want to ignore that event
|
||||||
|
|
|
@ -52,7 +52,6 @@ Settings::Settings()
|
||||||
setPermanent("tv.phosphor", "byrom");
|
setPermanent("tv.phosphor", "byrom");
|
||||||
setPermanent("tv.phosblend", "50");
|
setPermanent("tv.phosblend", "50");
|
||||||
setPermanent("tv.scanlines", "25");
|
setPermanent("tv.scanlines", "25");
|
||||||
setPermanent("tv.scaninter", "true");
|
|
||||||
// TV options when using 'custom' mode
|
// TV options when using 'custom' mode
|
||||||
setPermanent("tv.contrast", "0.0");
|
setPermanent("tv.contrast", "0.0");
|
||||||
setPermanent("tv.brightness", "0.0");
|
setPermanent("tv.brightness", "0.0");
|
||||||
|
@ -400,7 +399,6 @@ void Settings::usage() const
|
||||||
<< " -tv.phosblend <0-100> Set default blend level in phosphor mode\n"
|
<< " -tv.phosblend <0-100> Set default blend level in phosphor mode\n"
|
||||||
<< " -tv.scanlines <0-100> Set scanline intensity to percentage\n"
|
<< " -tv.scanlines <0-100> Set scanline intensity to percentage\n"
|
||||||
<< " (0 disables completely)\n"
|
<< " (0 disables completely)\n"
|
||||||
<< " -tv.scaninter <1|0> Enable interpolated (smooth) scanlines\n"
|
|
||||||
<< " -tv.contrast <-1.0 - 1.0> Set TV effects custom contrast\n"
|
<< " -tv.contrast <-1.0 - 1.0> Set TV effects custom contrast\n"
|
||||||
<< " -tv.brightness <-1.0 - 1.0> Set TV effects custom brightness\n"
|
<< " -tv.brightness <-1.0 - 1.0> Set TV effects custom brightness\n"
|
||||||
<< " -tv.hue <-1.0 - 1.0> Set TV effects custom hue\n"
|
<< " -tv.hue <-1.0 - 1.0> Set TV effects custom hue\n"
|
||||||
|
|
|
@ -196,23 +196,6 @@ void TIASurface::setScanlineIntensity(int amount)
|
||||||
myFB.showMessage(buf.str());
|
myFB.showMessage(buf.str());
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
||||||
void TIASurface::toggleScanlineInterpolation()
|
|
||||||
{
|
|
||||||
ostringstream buf;
|
|
||||||
if(ntscEnabled())
|
|
||||||
{
|
|
||||||
bool enable = !myOSystem.settings().getBool("tv.scaninter");
|
|
||||||
enableScanlineInterpolation(enable);
|
|
||||||
buf << "Scanline interpolation " << (enable ? "enabled" : "disabled");
|
|
||||||
myOSystem.settings().setValue("tv.scaninter", enable);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
buf << "Scanlines only available in TV filtering mode";
|
|
||||||
|
|
||||||
myFB.showMessage(buf.str());
|
|
||||||
}
|
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
uInt32 TIASurface::enableScanlines(int relative, int absolute)
|
uInt32 TIASurface::enableScanlines(int relative, int absolute)
|
||||||
{
|
{
|
||||||
|
@ -226,14 +209,6 @@ uInt32 TIASurface::enableScanlines(int relative, int absolute)
|
||||||
return attr.blendalpha;
|
return attr.blendalpha;
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
||||||
void TIASurface::enableScanlineInterpolation(bool enable)
|
|
||||||
{
|
|
||||||
FBSurface::Attributes& attr = mySLineSurface->attributes();
|
|
||||||
attr.smoothing = enable;
|
|
||||||
mySLineSurface->applyAttributes();
|
|
||||||
}
|
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
void TIASurface::enablePhosphor(bool enable, int blend)
|
void TIASurface::enablePhosphor(bool enable, int blend)
|
||||||
{
|
{
|
||||||
|
@ -290,7 +265,7 @@ void TIASurface::enableNTSC(bool enable)
|
||||||
|
|
||||||
myScanlinesEnabled = myOSystem.settings().getInt("tv.scanlines") > 0;
|
myScanlinesEnabled = myOSystem.settings().getInt("tv.scanlines") > 0;
|
||||||
FBSurface::Attributes& sl_attr = mySLineSurface->attributes();
|
FBSurface::Attributes& sl_attr = mySLineSurface->attributes();
|
||||||
sl_attr.smoothing = myOSystem.settings().getBool("tv.scaninter");
|
sl_attr.smoothing = true;
|
||||||
sl_attr.blending = myScanlinesEnabled;
|
sl_attr.blending = myScanlinesEnabled;
|
||||||
sl_attr.blendalpha = myOSystem.settings().getInt("tv.scanlines");
|
sl_attr.blendalpha = myOSystem.settings().getInt("tv.scanlines");
|
||||||
mySLineSurface->applyAttributes();
|
mySLineSurface->applyAttributes();
|
||||||
|
|
|
@ -92,11 +92,6 @@ class TIASurface
|
||||||
*/
|
*/
|
||||||
void setScanlineIntensity(int relative);
|
void setScanlineIntensity(int relative);
|
||||||
|
|
||||||
/**
|
|
||||||
Toggles interpolation/smoothing of scanlines in TV modes.
|
|
||||||
*/
|
|
||||||
void toggleScanlineInterpolation();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Change scanline intensity and interpolation.
|
Change scanline intensity and interpolation.
|
||||||
|
|
||||||
|
|
|
@ -274,25 +274,22 @@ VideoDialog::VideoDialog(OSystem& osystem, DialogContainer& parent,
|
||||||
// TV Phosphor effect
|
// TV Phosphor effect
|
||||||
myTVPhosphor = new CheckboxWidget(myTab, font, xpos, ypos + 1, "Phosphor for all ROMs", kPhosphorChanged);
|
myTVPhosphor = new CheckboxWidget(myTab, font, xpos, ypos + 1, "Phosphor for all ROMs", kPhosphorChanged);
|
||||||
wid.push_back(myTVPhosphor);
|
wid.push_back(myTVPhosphor);
|
||||||
ypos += lineHeight + VGAP;
|
ypos += lineHeight + VGAP / 2;
|
||||||
|
|
||||||
// TV Phosphor blend level
|
// TV Phosphor blend level
|
||||||
xpos += INDENT;
|
xpos += INDENT;
|
||||||
swidth = font.getMaxCharWidth() * 10;
|
swidth = font.getMaxCharWidth() * 10;
|
||||||
CREATE_CUSTOM_SLIDERS(PhosLevel, "Blend ")
|
CREATE_CUSTOM_SLIDERS(PhosLevel, "Blend ")
|
||||||
ypos += 6;
|
ypos += 8;
|
||||||
|
|
||||||
// Scanline intensity and interpolation
|
// Scanline intensity and interpolation
|
||||||
xpos -= INDENT;
|
xpos -= INDENT;
|
||||||
myTVScanLabel = new StaticTextWidget(myTab, font, xpos, ypos, "Scanline settings");
|
myTVScanLabel = new StaticTextWidget(myTab, font, xpos, ypos, "Scanlines:");
|
||||||
ypos += lineHeight;
|
ypos += lineHeight + VGAP / 2;
|
||||||
|
|
||||||
xpos += INDENT;
|
xpos += INDENT;
|
||||||
CREATE_CUSTOM_SLIDERS(ScanIntense, "Intensity ")
|
CREATE_CUSTOM_SLIDERS(ScanIntense, "Intensity ")
|
||||||
|
ypos += lineHeight + 2;
|
||||||
myTVScanInterpolate = new CheckboxWidget(myTab, font, xpos, ypos, "Interpolation");
|
|
||||||
wid.push_back(myTVScanInterpolate);
|
|
||||||
ypos += lineHeight + 6;
|
|
||||||
|
|
||||||
// Adjustable presets
|
// Adjustable presets
|
||||||
xpos -= INDENT;
|
xpos -= INDENT;
|
||||||
|
@ -399,7 +396,6 @@ void VideoDialog::loadConfig()
|
||||||
|
|
||||||
// TV scanline intensity and interpolation
|
// TV scanline intensity and interpolation
|
||||||
myTVScanIntense->setValue(instance().settings().getInt("tv.scanlines"));
|
myTVScanIntense->setValue(instance().settings().getInt("tv.scanlines"));
|
||||||
myTVScanInterpolate->setState(instance().settings().getBool("tv.scaninter"));
|
|
||||||
|
|
||||||
myTab->loadConfig();
|
myTab->loadConfig();
|
||||||
}
|
}
|
||||||
|
@ -479,9 +475,8 @@ void VideoDialog::saveConfig()
|
||||||
// TV phosphor blend
|
// TV phosphor blend
|
||||||
instance().settings().setValue("tv.phosblend", myTVPhosLevel->getValueLabel());
|
instance().settings().setValue("tv.phosblend", myTVPhosLevel->getValueLabel());
|
||||||
|
|
||||||
// TV scanline intensity and interpolation
|
// TV scanline intensity
|
||||||
instance().settings().setValue("tv.scanlines", myTVScanIntense->getValueLabel());
|
instance().settings().setValue("tv.scanlines", myTVScanIntense->getValueLabel());
|
||||||
instance().settings().setValue("tv.scaninter", myTVScanInterpolate->getState());
|
|
||||||
|
|
||||||
// Finally, issue a complete framebuffer re-initialization
|
// Finally, issue a complete framebuffer re-initialization
|
||||||
instance().createFrameBuffer();
|
instance().createFrameBuffer();
|
||||||
|
@ -525,7 +520,6 @@ void VideoDialog::setDefaults()
|
||||||
|
|
||||||
// TV scanline intensity and interpolation
|
// TV scanline intensity and interpolation
|
||||||
myTVScanIntense->setValue(25);
|
myTVScanIntense->setValue(25);
|
||||||
myTVScanInterpolate->setState(true);
|
|
||||||
|
|
||||||
// Make sure that mutually-exclusive items are not enabled at the same time
|
// Make sure that mutually-exclusive items are not enabled at the same time
|
||||||
handleTVModeChange(NTSCFilter::PRESET_OFF);
|
handleTVModeChange(NTSCFilter::PRESET_OFF);
|
||||||
|
|
|
@ -89,7 +89,6 @@ class VideoDialog : public Dialog
|
||||||
// TV scanline intensity and interpolation
|
// TV scanline intensity and interpolation
|
||||||
StaticTextWidget* myTVScanLabel;
|
StaticTextWidget* myTVScanLabel;
|
||||||
SliderWidget* myTVScanIntense;
|
SliderWidget* myTVScanIntense;
|
||||||
CheckboxWidget* myTVScanInterpolate;
|
|
||||||
|
|
||||||
// TV effects adjustables presets (custom mode)
|
// TV effects adjustables presets (custom mode)
|
||||||
ButtonWidget* myCloneComposite;
|
ButtonWidget* myCloneComposite;
|
||||||
|
|
Loading…
Reference in New Issue