Ejemplo n.º 1
0
static PyObject *
api_registrar_set_default_format (PyObject *self, PyObject *args)
{
  int status;
  char *name = NULL;

  if (!PyArg_ParseTuple (args, "s", &name))
    return NULL;

  status = set_default_format (name);
  return _ro (PyInt_FromLong (status));
}
Ejemplo n.º 2
0
bool QSoundProcessor::open_format_dialog()
{
    QDialog dialog;
    dialog.setWindowTitle(tr("Audio format"));
    dialog.setFixedSize(320,320);

    QVBoxLayout central_layout;
    central_layout.setMargin(5);

    QHBoxLayout L_buttons;
    QPushButton B_apply(tr("Apply"));
    B_apply.setToolTip(tr("Apply format"));
    connect(&B_apply, SIGNAL(clicked()), &dialog, SLOT(accept()));
    QPushButton B_default(tr("Default"));
    B_default.setToolTip(tr("Set default values and close dialog"));
    connect(&B_default, SIGNAL(clicked()), this, SLOT(set_default_format()));
    connect(&B_default, SIGNAL(clicked()), &dialog, SLOT(reject()));
    QPushButton B_cancel(tr("Cancel"));
    B_cancel.setToolTip(tr("Close dialog without save"));
    connect(&B_cancel, SIGNAL(clicked()), &dialog, SLOT(reject()));
    L_buttons.addWidget(&B_apply);
    L_buttons.addWidget(&B_default);
    L_buttons.addWidget(&B_cancel);

    QTabWidget TW_controls;

    QWidget Sampleproperties_page;
        QVBoxLayout L_sampleproperties;
        L_sampleproperties.setMargin(5);

            QGroupBox GB_samplerate;
            GB_samplerate.setTitle(tr("Sample rate"));
            QVBoxLayout L_samplerate;
            QComboBox CB_samplerate;
                QList<int> samplerate = m_device_info.supportedSampleRates();
                for(int i = 0; i < samplerate.size(); i++)
                {
                    CB_samplerate.addItem( QString::number(samplerate.at(i)), qVariantFromValue(samplerate.at(i)) );
                }
            L_samplerate.addWidget(&CB_samplerate);
            GB_samplerate.setLayout(&L_samplerate);

            QGroupBox GB_samplesize;
            GB_samplesize.setTitle(tr("Sample size"));
            QVBoxLayout L_samplesize;
            QComboBox CB_samplesize;
                QList<int> samplesize = m_device_info.supportedSampleSizes();
                for(int i = 0; i < samplesize.size(); i++)
                {
                    CB_samplesize.addItem( QString::number(samplesize.at(i)) , qVariantFromValue(samplesize.at(i)) );
                }
            L_samplesize.addWidget(&CB_samplesize);
            GB_samplesize.setLayout(&L_samplesize);

            QGroupBox GB_byteorder;
            GB_byteorder.setTitle(tr("Byte order"));
            QVBoxLayout L_byteorder;
            QComboBox CB_byteorder;
            QList<QAudioFormat::Endian> byteorder = m_device_info.supportedByteOrders();
                for(int i = 0; i < byteorder.size(); i++)
                {
                    switch (byteorder.at(i))
                    {
                        case 0:
                            CB_byteorder.addItem( "BigEndian" , qVariantFromValue(byteorder.at(i)) );
                            break;
                        case 1:
                            CB_byteorder.addItem( "LittleEndian" , qVariantFromValue(byteorder.at(i)) );
                            break;
                        default:
                            CB_byteorder.addItem( QString::number(byteorder.at(i)) , qVariantFromValue(byteorder.at(i)) );
                            break;
                    }
                }
            L_byteorder.addWidget(&CB_byteorder);
            GB_byteorder.setLayout(&L_byteorder);

            QGroupBox GB_sampletype;
            GB_sampletype.setTitle(tr("Sample type"));
            QVBoxLayout L_sampletype;
            QComboBox CB_sampletype;
            QList<QAudioFormat::SampleType> sampletype = m_device_info.supportedSampleTypes();
                for(int i = 0; i < sampletype.size(); i++)
                {
                    switch (sampletype.at(i))
                    {
                        case 0:
                            CB_sampletype.addItem( "Unknown", qVariantFromValue(sampletype.at(i)) );
                            break;
                        case 1:
                            CB_sampletype.addItem( "SignedInt", qVariantFromValue(sampletype.at(i)) );
                            break;
                        case 2:
                            CB_sampletype.addItem( "UnSignedInt", qVariantFromValue(sampletype.at(i)) );
                            break;
                        case 3:
                            CB_sampletype.addItem( "Float", qVariantFromValue(sampletype.at(i)) );
                            break;
                        default:
                            CB_sampletype.addItem( QString::number(sampletype.at(i)), qVariantFromValue(sampletype.at(i)) );
                            break;
                    }
                }
            L_sampletype.addWidget(&CB_sampletype);
            GB_sampletype.setLayout(&L_sampletype);

        L_sampleproperties.addWidget(&GB_samplerate);
        L_sampleproperties.addWidget(&GB_samplesize);
        L_sampleproperties.addWidget(&GB_byteorder);
        L_sampleproperties.addWidget(&GB_sampletype);
    Sampleproperties_page.setLayout(&L_sampleproperties);

    QWidget Otherproperties_page;

        QVBoxLayout L_otherproperties;
        L_otherproperties.setMargin(5);

            QGroupBox GB_channelcount;
            GB_channelcount.setTitle(tr("Channels count"));
            QVBoxLayout L_channelcount;
            QComboBox CB_channelcount;
                QList<int> channels = m_device_info.supportedChannelCounts();
                for(int i = 0; i < channels.size(); i++)
                {
                    CB_channelcount.addItem( QString::number(channels.at(i)), qVariantFromValue(channels.at(i)) );
                }
            L_channelcount.addWidget(&CB_channelcount);
            GB_channelcount.setLayout(&L_channelcount);

            QGroupBox GB_codecname;
            GB_codecname.setTitle(tr("Audio codec"));
            QVBoxLayout L_codecname;
            QComboBox CB_codecname;
            CB_codecname.addItems( m_device_info.supportedCodecs());
            L_codecname.addWidget(&CB_codecname);
            GB_codecname.setLayout(&L_codecname);

        L_otherproperties.addWidget(&GB_channelcount);
        L_otherproperties.addWidget(&GB_codecname);
    Otherproperties_page.setLayout(&L_otherproperties);


    TW_controls.addTab(&Sampleproperties_page, tr("Sample"));
    TW_controls.addTab(&Otherproperties_page, tr("Channels/codec"));
    central_layout.addWidget(&TW_controls);
    central_layout.addLayout(&L_buttons);
    dialog.setLayout(&central_layout);

    if(dialog.exec() == QDialog::Accepted)
    {
        this->set_format_samplerate( CB_samplerate.currentData().value<int>() );
        this->set_format_samplesize( CB_samplesize.currentData().value<int>() );
        this->set_format_byteorder( CB_byteorder.currentData().value<QAudioFormat::Endian>() );
        this->set_format_sampletype( CB_sampletype.currentData().value<QAudioFormat::SampleType>() );
        this->set_format_channelcount( CB_channelcount.currentData().value<int>() );
        this->set_format_codecname( CB_codecname.currentText() );
        return true;
    }
    return false;
}