1057 lines
47 KiB
XML
1057 lines
47 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
|
|
The MIT License (MIT)
|
|
|
|
Copyright (c) 2015-2021 Lior Halphon
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
of this software and associated documentation files (the "Software"), to deal
|
|
in the Software without restriction, including without limitation the rights
|
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
copies of the Software, and to permit persons to whom the Software is
|
|
furnished to do so, subject to the following conditions:
|
|
|
|
The above copyright notice and this permission notice shall be included in
|
|
all copies or substantial portions of the Software.
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
THE SOFTWARE.
|
|
|
|
Author: Maximilian Mader
|
|
|
|
-->
|
|
<interface>
|
|
<requires lib="gtk+" version="3.22"/>
|
|
<!-- interface-license-type mit -->
|
|
<!-- interface-name SameBoy -->
|
|
<!-- interface-description SameBoy is an open source Game Boy (DMG) and Game Boy Color (CGB) emulator, written in portable C. -->
|
|
<!-- interface-copyright 2015-2021 Lior Halphon -->
|
|
<!-- interface-authors Maximilian Mader -->
|
|
<template class="PreferencesWindow">
|
|
<property name="can_focus">False</property>
|
|
<property name="title" translatable="yes">Preferences</property>
|
|
<property name="resizable">False</property>
|
|
<child>
|
|
<object class="GtkNotebook">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="margin_left">16</property>
|
|
<property name="margin_right">16</property>
|
|
<property name="margin_top">16</property>
|
|
<property name="margin_bottom">16</property>
|
|
<property name="orientation">vertical</property>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="label" translatable="yes">Boot ROMs location:</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkComboBoxText" id="boot_rom_selector">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="margin_top">5</property>
|
|
<property name="margin_bottom">10</property>
|
|
<signal name="changed" handler="on_boot_rom_location_changed" swapped="no"/>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="label" translatable="yes">Rewinding Duration:</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">2</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkComboBoxText" id="rewind_duration_selector">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="margin_top">5</property>
|
|
<property name="margin_bottom">10</property>
|
|
<items>
|
|
<item id="10" translatable="yes">10 Seconds</item>
|
|
<item id="30" translatable="yes">30 Seconds</item>
|
|
<item id="60" translatable="yes">1 Minute</item>
|
|
<item id="120" translatable="yes">2 Minutes</item>
|
|
<item id="300" translatable="yes">5 Minutes</item>
|
|
<item id="600" translatable="yes">10 Minutes</item>
|
|
</items>
|
|
<signal name="changed" handler="on_rewind_duration_changed" swapped="no"/>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">3</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkSeparator">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="margin_bottom">5</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">4</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="label" translatable="yes">Game Boy Revision:</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">5</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkComboBox" id="dmg_revision_selector">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="margin_top">5</property>
|
|
<property name="margin_bottom">10</property>
|
|
<property name="model">dmg_models</property>
|
|
<property name="id_column">0</property>
|
|
<signal name="changed" handler="on_dmg_model_changed" swapped="no"/>
|
|
<child>
|
|
<object class="GtkCellRendererText"/>
|
|
<attributes>
|
|
<attribute name="sensitive">2</attribute>
|
|
<attribute name="font">2</attribute>
|
|
<attribute name="text">1</attribute>
|
|
</attributes>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">6</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="label" translatable="yes">Super Game Boy Model:</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">7</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkComboBoxText" id="sgb_revision_selector">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="margin_top">5</property>
|
|
<property name="margin_bottom">10</property>
|
|
<items>
|
|
<item id="SGB1_NTSC" translatable="yes">Super Game Boy (NTSC)</item>
|
|
<item id="SGB1_PAL" translatable="yes">Super Game Boy (PAL)</item>
|
|
<item id="SGB2" translatable="yes">Super Game Boy 2</item>
|
|
</items>
|
|
<signal name="changed" handler="on_sgb_model_changed" swapped="no"/>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">8</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="label" translatable="yes">Game Boy Color Revision:</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">9</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkComboBox" id="cgb_revision_selector">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="margin_top">5</property>
|
|
<property name="margin_bottom">10</property>
|
|
<property name="model">cgb_models</property>
|
|
<property name="id_column">0</property>
|
|
<signal name="changed" handler="on_cgb_model_changed" swapped="no"/>
|
|
<child>
|
|
<object class="GtkCellRendererText"/>
|
|
<attributes>
|
|
<attribute name="sensitive">2</attribute>
|
|
<attribute name="font">2</attribute>
|
|
<attribute name="text">1</attribute>
|
|
</attributes>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">10</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child type="tab">
|
|
<object class="GtkBox">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="orientation">vertical</property>
|
|
<child>
|
|
<object class="GtkImage">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="margin_bottom">2</property>
|
|
<property name="resource">/io/github/sameboy/pixmaps/CPU.png</property>
|
|
<property name="icon_size">3</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="label" translatable="yes">Emulation</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="tab_fill">False</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="margin_left">16</property>
|
|
<property name="margin_right">16</property>
|
|
<property name="margin_top">16</property>
|
|
<property name="margin_bottom">16</property>
|
|
<property name="orientation">vertical</property>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="label" translatable="yes">Graphics Filter:</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkComboBoxText" id="shader_selector">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="margin_top">5</property>
|
|
<property name="margin_bottom">10</property>
|
|
<items>
|
|
<item id="NearestNeighbor" translatable="yes">Nearest Neighbor (Pixelated)</item>
|
|
<item id="Bilinear" translatable="yes">Bilinear (Blurry)</item>
|
|
<item id="SmoothBilinear" translatable="yes">Smooth Bilinear (Less blurry)</item>
|
|
<item id="MonoLCD" translatable="yes">Monochrome LCD Display</item>
|
|
<item id="LCD" translatable="yes">LCD Display</item>
|
|
<item id="CRT" translatable="yes">CRT Display</item>
|
|
<item id="Scale2x" translatable="yes">Scale2x</item>
|
|
<item id="Scale4x" translatable="yes">Scale4x</item>
|
|
<item id="AAScale2x" translatable="yes">Anti-aliased Scale2x</item>
|
|
<item id="AAScale4x" translatable="yes">Anti-aliased Scale4x</item>
|
|
<item id="HQ2x" translatable="yes">HQ2x</item>
|
|
<item id="OmniScale" translatable="yes">OmniScale (Any factor)</item>
|
|
<item id="OmniScaleLegacy" translatable="yes">OmniScale Legacy</item>
|
|
<item id="AAOmniScaleLegacy" translatable="yes">Anti-aliased OmniScale Legacy</item>
|
|
</items>
|
|
<signal name="changed" handler="on_graphic_filter_changed" swapped="no"/>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="label" translatable="yes">Color Correction:</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">2</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkComboBoxText" id="color_correction_selector">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="margin_top">5</property>
|
|
<property name="margin_bottom">10</property>
|
|
<items>
|
|
<item id="disabled" translatable="yes">Disabled</item>
|
|
<item id="correct_color_curves" translatable="yes">Correct Color Curves</item>
|
|
<item id="emulate_hardware" translatable="yes">Emulate Hardware</item>
|
|
<item id="preserve_brightness" translatable="yes">Preserve Brightness</item>
|
|
<item id="reduce_contrast" translatable="yes">Reduce contrast</item>
|
|
</items>
|
|
<signal name="changed" handler="on_color_correction_changed" swapped="no"/>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">3</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="label" translatable="yes">Ambient Light Temperature:</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">4</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkScale" id="light_temperature_slider">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="adjustment">colorTemperatureAdjustment</property>
|
|
<property name="round_digits">0</property>
|
|
<property name="digits">0</property>
|
|
<property name="value_pos">left</property>
|
|
<property name="margin_top">5</property>
|
|
<property name="margin_bottom">10</property>
|
|
<signal name="value-changed" handler="on_light_temperature_changed" swapped="no"/>
|
|
<signal name="format-value" handler="format_scale_color_temperature" swapped="no"/>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">5</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="label" translatable="yes">Frame blending:</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">6</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkComboBoxText" id="frame_blending_selector">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="margin_top">5</property>
|
|
<property name="margin_bottom">10</property>
|
|
<items>
|
|
<item id="disabled" translatable="yes">Disabled</item>
|
|
<item id="simple" translatable="yes">Simple</item>
|
|
<item id="accurate" translatable="yes">Accurate</item>
|
|
</items>
|
|
<signal name="changed" handler="on_frame_blending_changed" swapped="no"/>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">7</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="label" translatable="yes">Color palette for monochrome models:</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">8</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkComboBoxText" id="monochrome_palette_selector">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="margin_top">5</property>
|
|
<property name="margin_bottom">10</property>
|
|
<items>
|
|
<item id="greyscale" translatable="yes">Greyscale</item>
|
|
<item id="lime" translatable="yes">Lime (Game Boy)</item>
|
|
<item id="olive" translatable="yes">Olive (Pocket)</item>
|
|
<item id="teal" translatable="yes">Teal (Light)</item>
|
|
</items>
|
|
<signal name="changed" handler="on_monochrome_palette_changed" swapped="no"/>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">9</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="label" translatable="yes">Display Border:</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">10</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkComboBoxText" id="display_border_selector">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="margin_top">5</property>
|
|
<property name="margin_bottom">10</property>
|
|
<items>
|
|
<item id="never" translatable="yes">Never</item>
|
|
<item id="sgb_only" translatable="yes">Super Game Boy Only</item>
|
|
<item id="always" translatable="yes">Always</item>
|
|
</items>
|
|
<signal name="changed" handler="on_display_border_changed" swapped="no"/>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">11</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkCheckButton" id="integer_scaling_toggle">
|
|
<property name="label" translatable="yes">Use Integer Scaling</property>
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="receives_default">False</property>
|
|
<property name="halign">start</property>
|
|
<property name="margin_top">5</property>
|
|
<property name="margin_bottom">10</property>
|
|
<property name="draw_indicator">True</property>
|
|
<signal name="toggled" handler="on_use_integer_scaling_changed" swapped="no"/>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">12</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkCheckButton" id="aspect_ratio_toggle">
|
|
<property name="label" translatable="yes">Keep Aspect Ratio</property>
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="receives_default">False</property>
|
|
<property name="halign">start</property>
|
|
<property name="margin_top">5</property>
|
|
<property name="margin_bottom">10</property>
|
|
<property name="draw_indicator">True</property>
|
|
<signal name="toggled" handler="on_keep_aspect_ratio_changed" swapped="no"/>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">13</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
<child type="tab">
|
|
<object class="GtkBox">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="orientation">vertical</property>
|
|
<child>
|
|
<object class="GtkImage">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="margin_bottom">2</property>
|
|
<property name="resource">/io/github/sameboy/pixmaps/Display.png</property>
|
|
<property name="icon_size">3</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="label" translatable="yes">Video</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="position">1</property>
|
|
<property name="tab_fill">False</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="margin_left">14</property>
|
|
<property name="margin_right">16</property>
|
|
<property name="margin_top">16</property>
|
|
<property name="margin_bottom">16</property>
|
|
<property name="orientation">vertical</property>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="label" translatable="yes">High-pass Filter:</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkComboBoxText" id="highpass_filter_selector">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="margin_top">5</property>
|
|
<property name="margin_bottom">10</property>
|
|
<items>
|
|
<item id="disabled" translatable="yes">Disabled (Keep DC Offset)</item>
|
|
<item id="emulate_hardware" translatable="yes">Accurate (Emulate Hardware)</item>
|
|
<item id="preserve_waveform" translatable="yes">Preserve Waveform</item>
|
|
</items>
|
|
<signal name="changed" handler="on_highpass_filter_changed" swapped="no"/>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="label" translatable="yes">Sample Rate:</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">2</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkComboBoxText" id="sample_rate_selector">
|
|
<property name="margin_top">5</property>
|
|
<property name="margin_bottom">10</property>
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<items>
|
|
<item id="-1" translatable="yes">Default</item>
|
|
<item translatable="yes"><separator></item>
|
|
<item id="44100" translatable="yes">44.1 kHz</item>
|
|
<item id="48000" translatable="yes">48 kHz</item>
|
|
<item id="96000" translatable="yes">96 kHz</item>
|
|
</items>
|
|
<signal name="changed" handler="on_sample_rate_changed" swapped="no"/>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">3</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="label" translatable="yes">Interference volume:</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">4</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkScale" id="interference_volume_slider">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="adjustment">volumeAdjustment</property>
|
|
<property name="round_digits">0</property>
|
|
<property name="digits">0</property>
|
|
<property name="value_pos">left</property>
|
|
<property name="margin_top">5</property>
|
|
<property name="margin_bottom">10</property>
|
|
<signal name="value-changed" handler="on_interference_volume_changed" swapped="no"/>
|
|
<signal name="format-value" handler="format_scale_value_pct" swapped="no"/>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">5</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="position">2</property>
|
|
</packing>
|
|
</child>
|
|
<child type="tab">
|
|
<object class="GtkBox">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="orientation">vertical</property>
|
|
<child>
|
|
<object class="GtkImage">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="margin_bottom">2</property>
|
|
<property name="resource">/io/github/sameboy/pixmaps/Speaker.png</property>
|
|
<property name="icon_size">3</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="label" translatable="yes">Audio</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="position">2</property>
|
|
<property name="tab_fill">False</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="margin_left">16</property>
|
|
<property name="margin_right">16</property>
|
|
<property name="margin_top">16</property>
|
|
<property name="margin_bottom">16</property>
|
|
<property name="orientation">vertical</property>
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="margin_bottom">10</property>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="label" translatable="yes">Control settings for</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkComboBoxText">
|
|
<property name="visible">True</property>
|
|
<property name="sensitive">False</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="margin_left">5</property>
|
|
<property name="margin_right">5</property>
|
|
<property name="active">0</property>
|
|
<property name="active_id">0</property>
|
|
<items>
|
|
<item id="0" translatable="yes">Player 1</item>
|
|
<item id="1" translatable="yes">Player 2</item>
|
|
<item id="2" translatable="yes">Player 3</item>
|
|
<item id="3" translatable="yes">Player 4</item>
|
|
</items>
|
|
<signal name="changed" handler="do_refresh_joypad_menu" swapped="no"/>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="label" translatable="yes">:</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">2</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkSpinner">
|
|
<property name="visible">True</property>
|
|
<property name="sensitive">False</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="margin_top">90</property>
|
|
<property name="margin_bottom">90</property>
|
|
<property name="active">True</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="label" translatable="yes">Joypad for multiplayer games:</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">2</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkComboBoxText">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="margin_top">5</property>
|
|
<property name="margin_bottom">10</property>
|
|
<property name="active">0</property>
|
|
<items>
|
|
<item id="none" translatable="yes">None</item>
|
|
</items>
|
|
<signal name="changed" handler="on_default_joypad_changed" swapped="no"/>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">3</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkSeparator">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="margin_bottom">5</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">4</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkCheckButton" id="analog_speed_controls_toggle">
|
|
<property name="label" translatable="yes">Analog turbo and slow-motion controls</property>
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="receives_default">False</property>
|
|
<property name="halign">start</property>
|
|
<property name="margin_top">5</property>
|
|
<property name="margin_bottom">10</property>
|
|
<property name="draw_indicator">True</property>
|
|
<signal name="toggled" handler="on_analog_speed_controls_changed" swapped="no"/>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">False</property>
|
|
<property name="position">5</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="margin_top">8</property>
|
|
<property name="label" translatable="yes">Enable Rumble:</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">6</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkComboBoxText" id="rumble_mode_selector">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="margin_top">5</property>
|
|
<property name="margin_bottom">10</property>
|
|
<property name="active">0</property>
|
|
<items>
|
|
<item id="never" translatable="yes">Never</item>
|
|
<item id="rumble_cartridges" translatable="yes">For rumble-enabled cartridges</item>
|
|
<item id="always" translatable="yes">Always</item>
|
|
</items>
|
|
<signal name="changed" handler="on_rumble_mode_changed" swapped="no"/>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">7</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="margin_top">5</property>
|
|
<property name="margin_bottom">10</property>
|
|
<child>
|
|
<object class="GtkButton">
|
|
<property name="label" translatable="yes">Configure Joypad</property>
|
|
<property name="visible">True</property>
|
|
<property name="sensitive">False</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="receives_default">True</property>
|
|
<signal name="activate" handler="do_configure_joypad" swapped="no"/>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkButton" id="configure_joypad_skip">
|
|
<property name="label" translatable="yes">Skip</property>
|
|
<property name="visible">True</property>
|
|
<property name="sensitive">False</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="receives_default">True</property>
|
|
<signal name="activate" handler="do_skip_configure_joypad" swapped="no"/>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="pack_type">end</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">8</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="position">3</property>
|
|
</packing>
|
|
</child>
|
|
<child type="tab">
|
|
<object class="GtkBox">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="orientation">vertical</property>
|
|
<child>
|
|
<object class="GtkImage">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="margin_bottom">2</property>
|
|
<property name="resource">/io/github/sameboy/pixmaps/Joypad.png</property>
|
|
<property name="icon_size">3</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="label" translatable="yes">Controls</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="position">3</property>
|
|
<property name="tab_fill">False</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child type="titlebar">
|
|
<placeholder/>
|
|
</child>
|
|
</template>
|
|
|
|
<object class="GtkListStore" id="dmg_models">
|
|
<columns>
|
|
<!-- column-name id -->
|
|
<column type="gchararray"/>
|
|
<!-- column-name value -->
|
|
<column type="gchararray"/>
|
|
<!-- column-name enabled -->
|
|
<column type="gboolean"/>
|
|
</columns>
|
|
<data>
|
|
<row>
|
|
<col id="0" translatable="yes">DMG_CPU_0</col>
|
|
<col id="1" translatable="yes">DMG-CPU 0</col>
|
|
<col id="2">False</col>
|
|
</row>
|
|
<row>
|
|
<col id="0" translatable="yes">DMG_CPU_A</col>
|
|
<col id="1" translatable="yes">DMG-CPU A</col>
|
|
<col id="2">False</col>
|
|
</row>
|
|
<row>
|
|
<col id="0" translatable="yes">DMG_CPU_B</col>
|
|
<col id="1" translatable="yes">DMG-CPU B</col>
|
|
<col id="2">True</col>
|
|
</row>
|
|
<row>
|
|
<col id="0" translatable="yes">DMG_CPU_C</col>
|
|
<col id="1" translatable="yes">DMG-CPU C</col>
|
|
<col id="2">False</col>
|
|
</row>
|
|
</data>
|
|
</object>
|
|
|
|
<object class="GtkListStore" id="cgb_models">
|
|
<columns>
|
|
<!-- column-name id -->
|
|
<column type="gchararray"/>
|
|
<!-- column-name value -->
|
|
<column type="gchararray"/>
|
|
<!-- column-name enabled -->
|
|
<column type="gboolean"/>
|
|
</columns>
|
|
<data>
|
|
<row>
|
|
<col id="0" translatable="yes">CPU_CGB_0</col>
|
|
<col id="1" translatable="yes">CPU-CGB 0</col>
|
|
<col id="2">False</col>
|
|
</row>
|
|
<row>
|
|
<col id="0" translatable="yes">CPU_CGB_A</col>
|
|
<col id="1" translatable="yes">CPU-CGB A</col>
|
|
<col id="2">False</col>
|
|
</row>
|
|
<row>
|
|
<col id="0" translatable="yes">CPU_CGB_B</col>
|
|
<col id="1" translatable="yes">CPU-CGB B</col>
|
|
<col id="2">False</col>
|
|
</row>
|
|
<row>
|
|
<col id="0" translatable="yes">CPU_CGB_C</col>
|
|
<col id="1" translatable="yes">CPU-CGB C (Experimental)</col>
|
|
<col id="2">True</col>
|
|
</row>
|
|
<row>
|
|
<col id="0" translatable="yes">CPU_CGB_D</col>
|
|
<col id="1" translatable="yes">CPU-CGB D</col>
|
|
<col id="2">False</col>
|
|
</row>
|
|
<row>
|
|
<col id="0" translatable="yes">CPU_CGB_E</col>
|
|
<col id="1" translatable="yes">CPU-CGB E</col>
|
|
<col id="2">True</col>
|
|
</row>
|
|
</data>
|
|
</object>
|
|
|
|
<object class="GtkAdjustment" id="volumeAdjustment">
|
|
<property name="upper">100</property>
|
|
<property name="step_increment">1</property>
|
|
<property name="page_increment">10</property>
|
|
</object>
|
|
|
|
<object class="GtkAdjustment" id="colorTemperatureAdjustment">
|
|
<property name="lower">-256</property>
|
|
<property name="upper">256</property>
|
|
<property name="step_increment">1</property>
|
|
<property name="page_increment">8</property>
|
|
</object>
|
|
</interface>
|