kopia lustrzana https://github.com/corrscope/corrscope
rodzic
dea3294956
commit
988087c936
|
|
@ -1,6 +1,7 @@
|
|||
import functools
|
||||
import sys
|
||||
import traceback
|
||||
from collections import OrderedDict
|
||||
from pathlib import Path
|
||||
from types import MethodType
|
||||
from typing import Optional, List, Any, Tuple, Callable, Union, Dict, Sequence
|
||||
|
|
@ -34,6 +35,7 @@ from corrscope.gui.history_file_dlg import (
|
|||
get_save_file_path,
|
||||
)
|
||||
from corrscope.gui.util import color2hex, Locked, find_ranges, TracebackDialog
|
||||
from corrscope.layout import Orientation, StereoOrientation
|
||||
from corrscope.outputs import IOutputConfig, FFplayOutputConfig, FFmpegOutputConfig
|
||||
from corrscope.settings import paths
|
||||
from corrscope.triggers import CorrelationTriggerConfig, ITriggerConfig
|
||||
|
|
@ -607,16 +609,13 @@ def path_fix_property(path: str) -> property:
|
|||
return property(getter, setter)
|
||||
|
||||
|
||||
flatten_modes = {
|
||||
flatten_no_stereo = {
|
||||
Flatten.SumAvg: "Average: (L+R)/2",
|
||||
Flatten.DiffAvg: "DiffAvg: (L-R)/2",
|
||||
Flatten.Stereo: "Stereo (broken)",
|
||||
}
|
||||
flatten_modes = {**flatten_no_stereo, Flatten.Stereo: "Stereo"}
|
||||
assert set(flatten_modes.keys()) == set(Flatten.modes) # type: ignore
|
||||
|
||||
flatten_symbols = list(flatten_modes.keys())
|
||||
flatten_text = list(flatten_modes.values())
|
||||
|
||||
|
||||
class ConfigModel(PresentationModel):
|
||||
cfg: Config
|
||||
|
|
@ -626,10 +625,13 @@ class ConfigModel(PresentationModel):
|
|||
master_audio = path_fix_property("master_audio")
|
||||
|
||||
# Stereo flattening
|
||||
for path in ["trigger_stereo", "render_stereo"]:
|
||||
combo_symbols[path] = flatten_symbols
|
||||
combo_text[path] = flatten_text
|
||||
del path
|
||||
for path, symbol_map in [
|
||||
["trigger_stereo", flatten_no_stereo],
|
||||
["render_stereo", flatten_modes],
|
||||
]:
|
||||
combo_symbols[path] = list(symbol_map.keys())
|
||||
combo_text[path] = list(symbol_map.values())
|
||||
del path, symbol_map
|
||||
|
||||
@property
|
||||
def render_resolution(self) -> str:
|
||||
|
|
@ -658,8 +660,19 @@ class ConfigModel(PresentationModel):
|
|||
|
||||
layout__nrows = nrow_ncol_property("nrows", unaltered="ncols")
|
||||
layout__ncols = nrow_ncol_property("ncols", unaltered="nrows")
|
||||
combo_symbols["layout__orientation"] = ["h", "v"]
|
||||
combo_text["layout__orientation"] = ["Horizontal", "Vertical"]
|
||||
|
||||
_orientations = [["h", "Horizontal"], ["v", "Vertical"]]
|
||||
_stereo_orientations = _orientations + [["overlay", "Overlay"]]
|
||||
|
||||
for path, cls, symbol_map in [
|
||||
["layout__orientation", Orientation, _orientations],
|
||||
["layout__stereo_orientation", StereoOrientation, _stereo_orientations],
|
||||
]:
|
||||
symbol_map = OrderedDict(symbol_map)
|
||||
# comprehensions fail in class scope
|
||||
combo_symbols[path] = list(map(cls, symbol_map.keys()))
|
||||
combo_text[path] = list(symbol_map.values())
|
||||
del path, cls, symbol_map
|
||||
|
||||
render__line_width = default_property("render__line_width", 1.5)
|
||||
|
||||
|
|
|
|||
|
|
@ -17,6 +17,12 @@
|
|||
<layout class="QHBoxLayout" name="horizontalLayout" stretch="0,1">
|
||||
<item>
|
||||
<widget class="QTabWidget" name="tabWidget">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
</property>
|
||||
|
|
@ -261,12 +267,32 @@
|
|||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="tabStereo">
|
||||
<attribute name="title">
|
||||
<string>&Stereo</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="optionStereo">
|
||||
<property name="title">
|
||||
<string>Stereo Downmixing</string>
|
||||
<string>Stereo Enable</string>
|
||||
</property>
|
||||
<layout class="QFormLayout" name="formLayout_6">
|
||||
<layout class="QFormLayout" name="formLayout_8">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="trigger_stereoL">
|
||||
<property name="text">
|
||||
|
|
@ -291,7 +317,43 @@
|
|||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_2">
|
||||
<widget class="QGroupBox" name="dockStereo_2">
|
||||
<property name="title">
|
||||
<string>Stereo Appearance</string>
|
||||
</property>
|
||||
<layout class="QFormLayout" name="formLayout_7">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="layout__stereo_orientationL">
|
||||
<property name="text">
|
||||
<string>Stereo Orientation</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="BoundComboBox" name="layout__stereo_orientation"/>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="render__stereo_grid_opacityL">
|
||||
<property name="text">
|
||||
<string>Grid Opacity</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QDoubleSpinBox" name="render__stereo_grid_opacity">
|
||||
<property name="maximum">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.250000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
|
|
|
|||
Ładowanie…
Reference in New Issue