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)); }
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(¢ral_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; }