Exemplo n.º 1
0
    def __init__(self, parent=None, cmdlinefiles=None):
        super(Window, self).__init__(parent)

        add_files_button = self.createButton("&Add Files", self.add_files)
        convert_button   = self.createButton("Conv&ert", self.convert)
        cancel_button    = QtGui.QPushButton("&Close")
        browse_button    = self.createButton("&Output Folder", self.browse)

        self.delete_original_checkbox = QtGui.QCheckBox("&Delete")
        self.overwrite_checkbox       = QtGui.QCheckBox("Over&write")
        self.unlock_checkbox          = QtGui.QCheckBox("&Unlock")
        self.foldername               = QtGui.QLabel("")
        self.foldername.setFrameStyle(QtGui.QFrame.Panel | QtGui.QFrame.Sunken)

        head_layout = QtGui.QHBoxLayout()
        body_layout = QtGui.QVBoxLayout()
        foot_layout = QtGui.QHBoxLayout()
        browse_layout = QtGui.QHBoxLayout()
        codec_layout = QtGui.QHBoxLayout()

        head_layout.addWidget(add_files_button)
        head_layout.addWidget(browse_button)
        head_layout.addSpacing(500)

        browse_layout.addWidget(self.foldername)

        codec_label = QtGui.QLabel("Convert To:")
        self.codec_combobox = QtGui.QComboBox()
        formats = list(check_deps())
        formats.sort()
        for fmt in formats:
            self.codec_combobox.addItem(fmt)

        quality_label = QtGui.QLabel("Quality:")
        self.quality_combobox = QtGui.QComboBox()
        presets = ['Insane', 'Extreme', 'High', 'Normal', 'Low', 'Tiny']
        for idx, preset in enumerate(presets):
            self.quality_combobox.addItem(preset)
            if preset == 'Normal':
                self.quality_combobox.setCurrentIndex(idx)

        codec_layout.addWidget(codec_label)
        codec_layout.addWidget(self.codec_combobox)
        codec_layout.addWidget(quality_label)
        codec_layout.addWidget(self.quality_combobox)

        head_layout.addLayout(codec_layout)
        foot_layout.addWidget(self.delete_original_checkbox)
        foot_layout.addWidget(self.overwrite_checkbox)
        foot_layout.addWidget(self.unlock_checkbox)
        foot_layout.addSpacing(500)
        foot_layout.addWidget(convert_button)
        foot_layout.addWidget(cancel_button)

        self.createFilesTable()

        body_layout.addLayout(head_layout)
        body_layout.addLayout(browse_layout)
        body_layout.addWidget(self.filesTable)
        body_layout.addLayout(foot_layout)

        self.setLayout(body_layout)
        self.setWindowTitle("ftransc Audio Converter v%s" % VERSION)
        self.resize(700, 400)


        self.connect(cancel_button, 
                     QtCore.SIGNAL('clicked()'), 
                     QtGui.qApp, 
                     QtCore.SLOT('quit()'))

        if cmdlinefiles is not None:
            self.cmdlinefiles = cmdlinefiles
            self.add_files(noninteractive=True)
            self.cmdlinefiles = None
Exemplo n.º 2
0
        opt.notify = True
        opt.logfile = '/tmp/ftransc.log'
    
    if opt.debug:
        LOGFILE = '/dev/stdout'
    elif opt.logfile:
        LOGFILE = opt.logfile
    
    SILENT = opt.silent

    files = list(set(files))  # remove duplicates
    files.sort()
    home = os.getcwd()
    fmt = opt.format.lower()
    qual = opt.quality.lower()
    supported_formats = check_deps(check=opt.check, list_formats=opt.list_formats)
    if fmt in ("mp4", "m4a", "aac"): 
        fmt = "m4a"
    if fmt in ("mpc", "musepack"):
        fmt = "mpc"
    if opt.decode: 
        fmt = "wav"
    if fmt not in supported_formats:
        raise SystemExit("%s%s%s is not a supported format" % (rd, fmt, nc))
    if not os.path.isfile(opt.presets):
        raise SystemExit('The presets file [%s] does not exist' % opt.presets)
    elif fmt != 'wav':
        preset = get_profile(fmt, qual, opt.presets, opt.external_encoder)
    else:
        preset = None