Ejemplo n.º 1
0
    def init_modes(self):
        layout = QtWidgets.QGridLayout()
        crf_group_box = QtWidgets.QGroupBox()
        crf_group_box.setStyleSheet("QGroupBox{padding-top:5px; margin-top:-18px}")
        crf_box_layout = QtWidgets.QHBoxLayout()
        bitrate_group_box = QtWidgets.QGroupBox()
        bitrate_group_box.setStyleSheet("QGroupBox{padding-top:5px; margin-top:-18px}")
        bitrate_box_layout = QtWidgets.QHBoxLayout()
        # rotation_dir = Path(base_path, 'data', 'rotations')
        # group_box.setStyleSheet("QGroupBox{padding-top:15px; margin-top:-15px; padding-bottom:-5px}")
        self.widgets.mode = QtWidgets.QButtonGroup()
        self.widgets.mode.buttonClicked.connect(self.set_mode)

        bitrate_radio = QtWidgets.QRadioButton("Bitrate")
        bitrate_radio.setFixedWidth(80)
        self.widgets.mode.addButton(bitrate_radio)
        self.widgets.bitrate = QtWidgets.QComboBox()
        self.widgets.bitrate.setFixedWidth(250)
        self.widgets.bitrate.addItems(recommended_bitrates)
        self.widgets.bitrate.currentIndexChanged.connect(lambda: self.main.build_commands())
        self.widgets.bitrate.setCurrentIndex(6)
        self.widgets.custom_bitrate = QtWidgets.QLineEdit("3000")
        self.widgets.custom_bitrate.setFixedWidth(100)
        bitrate_box_layout.addWidget(bitrate_radio)
        bitrate_box_layout.addWidget(self.widgets.bitrate)
        bitrate_box_layout.addStretch()
        bitrate_box_layout.addWidget(QtWidgets.QLabel("Custom:"))
        bitrate_box_layout.addWidget(self.widgets.custom_bitrate)

        crf_radio = QtWidgets.QRadioButton("CRF")
        crf_radio.setChecked(True)
        crf_radio.setFixedWidth(80)
        self.widgets.mode.addButton(crf_radio)

        self.widgets.crf = QtWidgets.QComboBox()
        self.widgets.crf.setFixedWidth(250)
        self.widgets.crf.addItems(recommended_crfs)
        self.widgets.crf.setCurrentIndex(4)
        self.widgets.crf.currentIndexChanged.connect(lambda: self.main.build_commands())
        self.widgets.custom_crf = QtWidgets.QLineEdit("30")
        self.widgets.custom_crf.setFixedWidth(100)
        crf_box_layout.addWidget(crf_radio)
        crf_box_layout.addWidget(self.widgets.crf)
        crf_box_layout.addStretch()
        crf_box_layout.addWidget(QtWidgets.QLabel("Custom:"))
        crf_box_layout.addWidget(self.widgets.custom_crf)

        bitrate_group_box.setLayout(bitrate_box_layout)
        crf_group_box.setLayout(crf_box_layout)

        layout.addWidget(crf_group_box, 0, 0)
        layout.addWidget(bitrate_group_box, 1, 0)
        return layout
Ejemplo n.º 2
0
    def __init__(self, parent, audio, number, enabled=True):
        super(Subtitle, self).__init__(parent)
        self.audio = audio
        self.widget = QtWidgets.QLineEdit()
        self.widget.setText(audio)
        self.widget.setDisabled(not enabled)
        self.setFixedHeight(60)

        grid = QtWidgets.QGridLayout()
        grid.addWidget(QtWidgets.QLabel(f"Track {number}"), 0, 0, 1, 2)
        grid.addWidget(self.widget, 1, 0, 1, 2)
        self.setLayout(grid)
Ejemplo n.º 3
0
 def init_input_file(self):
     layout = QtWidgets.QHBoxLayout()
     self.widgets.input_file = QtWidgets.QLineEdit("")
     self.widgets.input_file.setReadOnly(True)
     open_input_file = QtWidgets.QPushButton("...")
     open_input_file.setFixedWidth(50)
     open_input_file.setMaximumHeight(22)
     open_input_file.setDefault(True)
     layout.addWidget(QtWidgets.QLabel("Source File:"))
     layout.addWidget(self.widgets.input_file)
     layout.addWidget(open_input_file)
     layout.setSpacing(10)
     open_input_file.clicked.connect(lambda: self.open_file())
     return layout
Ejemplo n.º 4
0
    def __init__(self, parent, command, number, name="", enabled=True):
        super(Command, self).__init__(parent)
        self.command = command
        self.widget = QtWidgets.QLineEdit()
        self.widget.setReadOnly(True)
        self.widget.setText(command)
        self.widget.setDisabled(not enabled)
        self.setFixedHeight(60)

        grid = QtWidgets.QGridLayout()
        grid.addWidget(
            QtWidgets.QLabel(f"Command {number}" if not name else name), 0, 0,
            1, 2)
        grid.addWidget(self.widget, 1, 0, 1, 2)
        self.setLayout(grid)
Ejemplo n.º 5
0
 def build_hoz_int_field(self,
                         name,
                         button_size=22,
                         left_stretch=True,
                         right_stretch=True,
                         layout=None,
                         return_buttons=False,
                         time_field=False):
     widget = QtWidgets.QLineEdit(
         self.number_to_time(0) if time_field else "0")
     widget.setFixedHeight(button_size)
     if not layout:
         layout = QtWidgets.QHBoxLayout()
         layout.setSpacing(0)
     if left_stretch:
         layout.addStretch()
     layout.addWidget(QtWidgets.QLabel(name))
     minus_button = QtWidgets.QPushButton("-")
     minus_button.setAutoRepeat(True)
     minus_button.setFixedSize(button_size, button_size)
     minus_button.clicked.connect(
         lambda: self.modify_int(widget, 'minus', time_field))
     plus_button = QtWidgets.QPushButton("+")
     plus_button.setAutoRepeat(True)
     plus_button.setFixedSize(button_size, button_size)
     plus_button.clicked.connect(
         lambda: self.modify_int(widget, 'add', time_field))
     if not time_field:
         widget.setFixedWidth(40)
     layout.addWidget(minus_button)
     layout.addWidget(widget)
     layout.addWidget(plus_button)
     if right_stretch:
         layout.addStretch()
     if return_buttons:
         return widget, layout, minus_button, plus_button
     return widget, layout
Ejemplo n.º 6
0
    def __init__(self,
                 parent,
                 audio,
                 index,
                 codec,
                 available_audio_encoders,
                 outdex=None,
                 enabled=True,
                 original=False,
                 first=False,
                 last=False,
                 codecs=(),
                 channels=2):
        super(Audio, self).__init__(parent)
        self.parent = parent
        self.audio = audio
        self.setFixedHeight(60)
        self.original = original
        self.outdex = index if self.original else outdex
        self.first = first
        self.last = last
        self.index = index
        self.codec = codec
        self.codecs = codecs
        self.channels = channels
        self.loading = True
        self.available_audio_encoders = available_audio_encoders

        self.widgets = Box(
            track_number=QtWidgets.QLabel(
                f'{index}:{self.outdex}' if enabled else '❌'),
            audio_info=QtWidgets.QLineEdit(audio),
            up_button=QtWidgets.QPushButton("^"),
            down_button=QtWidgets.QPushButton("v"),
            enable_check=QtWidgets.QCheckBox("Enabled"),
            dup_button=QtWidgets.QPushButton("➕"),
            delete_button=QtWidgets.QPushButton("⛔"),
            convert_to=None,
            convert_bitrate=None,
        )

        self.widgets.enable_check.setChecked(enabled)
        #self.widgets.enable_check.toggled.connect(lambda: self.parent.reorder())

        self.widgets.dup_button.clicked.connect(lambda: self.dup_me())
        self.widgets.dup_button.setFixedWidth(20)
        self.widgets.delete_button.clicked.connect(lambda: self.del_me())
        self.widgets.delete_button.setFixedWidth(20)

        self.widgets.track_number.setFixedWidth(20)

        grid = QtWidgets.QGridLayout()
        grid.addLayout(self.init_move_buttons(), 0, 0)
        grid.addWidget(self.widgets.track_number, 0, 1)
        grid.addWidget(self.widgets.audio_info, 0, 2)
        grid.addLayout(self.init_conversion(), 0, 3)

        if not original:
            grid.addWidget(self.widgets.delete_button, 0, 4)
        else:
            grid.addWidget(self.widgets.dup_button, 0, 5)
            grid.addWidget(self.widgets.enable_check, 0, 4)
        self.setLayout(grid)
        self.loading = False