Initial copy of QtMultimediaKit.
Comes from original repo, with SHA1: 2c82d5611655e5967f5c5095af50c0991c4378b2
This commit is contained in:
312
examples/audiodevices/audiodevices.cpp
Normal file
312
examples/audiodevices/audiodevices.cpp
Normal file
@@ -0,0 +1,312 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
|
||||
** All rights reserved.
|
||||
** Contact: Nokia Corporation (qt-info@nokia.com)
|
||||
**
|
||||
** This file is part of the examples of the Qt Mobility Components.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:BSD$
|
||||
** You may use this file under the terms of the BSD license as follows:
|
||||
**
|
||||
** "Redistribution and use in source and binary forms, with or without
|
||||
** modification, are permitted provided that the following conditions are
|
||||
** met:
|
||||
** * Redistributions of source code must retain the above copyright
|
||||
** notice, this list of conditions and the following disclaimer.
|
||||
** * Redistributions in binary form must reproduce the above copyright
|
||||
** notice, this list of conditions and the following disclaimer in
|
||||
** the documentation and/or other materials provided with the
|
||||
** distribution.
|
||||
** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
|
||||
** the names of its contributors may be used to endorse or promote
|
||||
** products derived from this software without specific prior written
|
||||
** permission.
|
||||
**
|
||||
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
#include <qaudiodeviceinfo.h>
|
||||
|
||||
#include "audiodevices.h"
|
||||
|
||||
// Utility functions for converting QAudioFormat fields into text
|
||||
|
||||
QString toString(QAudioFormat::SampleType sampleType)
|
||||
{
|
||||
QString result("Unknown");
|
||||
switch (sampleType) {
|
||||
case QAudioFormat::SignedInt:
|
||||
result = "SignedInt";
|
||||
break;
|
||||
case QAudioFormat::UnSignedInt:
|
||||
result = "UnSignedInt";
|
||||
break;
|
||||
case QAudioFormat::Float:
|
||||
result = "Float";
|
||||
break;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
QString toString(QAudioFormat::Endian endian)
|
||||
{
|
||||
QString result("Unknown");
|
||||
switch (endian) {
|
||||
case QAudioFormat::LittleEndian:
|
||||
result = "LittleEndian";
|
||||
break;
|
||||
case QAudioFormat::BigEndian:
|
||||
result = "BigEndian";
|
||||
break;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
AudioDevicesBase::AudioDevicesBase(QWidget *parent, Qt::WFlags f)
|
||||
: QMainWindow(parent, f)
|
||||
{
|
||||
setupUi(this);
|
||||
}
|
||||
|
||||
AudioDevicesBase::~AudioDevicesBase() {}
|
||||
|
||||
|
||||
AudioTest::AudioTest(QWidget *parent, Qt::WFlags f)
|
||||
: AudioDevicesBase(parent, f)
|
||||
{
|
||||
mode = QAudio::AudioOutput;
|
||||
|
||||
connect(testButton, SIGNAL(clicked()), SLOT(test()));
|
||||
connect(modeBox, SIGNAL(activated(int)), SLOT(modeChanged(int)));
|
||||
connect(deviceBox, SIGNAL(activated(int)), SLOT(deviceChanged(int)));
|
||||
connect(frequencyBox, SIGNAL(activated(int)), SLOT(freqChanged(int)));
|
||||
connect(channelsBox, SIGNAL(activated(int)), SLOT(channelChanged(int)));
|
||||
connect(codecsBox, SIGNAL(activated(int)), SLOT(codecChanged(int)));
|
||||
connect(sampleSizesBox, SIGNAL(activated(int)), SLOT(sampleSizeChanged(int)));
|
||||
connect(sampleTypesBox, SIGNAL(activated(int)), SLOT(sampleTypeChanged(int)));
|
||||
connect(endianBox, SIGNAL(activated(int)), SLOT(endianChanged(int)));
|
||||
connect(populateTableButton, SIGNAL(clicked()), SLOT(populateTable()));
|
||||
|
||||
modeBox->setCurrentIndex(0);
|
||||
modeChanged(0);
|
||||
deviceBox->setCurrentIndex(0);
|
||||
deviceChanged(0);
|
||||
}
|
||||
|
||||
AudioTest::~AudioTest()
|
||||
{
|
||||
}
|
||||
|
||||
void AudioTest::test()
|
||||
{
|
||||
// tries to set all the settings picked.
|
||||
testResult->clear();
|
||||
|
||||
if (!deviceInfo.isNull()) {
|
||||
if (deviceInfo.isFormatSupported(settings)) {
|
||||
testResult->setText(tr("Success"));
|
||||
nearestFreq->setText("");
|
||||
nearestChannel->setText("");
|
||||
nearestCodec->setText("");
|
||||
nearestSampleSize->setText("");
|
||||
nearestSampleType->setText("");
|
||||
nearestEndian->setText("");
|
||||
} else {
|
||||
QAudioFormat nearest = deviceInfo.nearestFormat(settings);
|
||||
testResult->setText(tr("Failed"));
|
||||
nearestFreq->setText(QString("%1").arg(nearest.frequency()));
|
||||
nearestChannel->setText(QString("%1").arg(nearest.channels()));
|
||||
nearestCodec->setText(nearest.codec());
|
||||
nearestSampleSize->setText(QString("%1").arg(nearest.sampleSize()));
|
||||
nearestSampleType->setText(toString(nearest.sampleType()));
|
||||
nearestEndian->setText(toString(nearest.byteOrder()));
|
||||
}
|
||||
}
|
||||
else
|
||||
testResult->setText(tr("No Device"));
|
||||
}
|
||||
|
||||
void AudioTest::modeChanged(int idx)
|
||||
{
|
||||
testResult->clear();
|
||||
|
||||
// mode has changed
|
||||
if (idx == 0)
|
||||
mode = QAudio::AudioInput;
|
||||
else
|
||||
mode = QAudio::AudioOutput;
|
||||
|
||||
deviceBox->clear();
|
||||
foreach (const QAudioDeviceInfo &deviceInfo, QAudioDeviceInfo::availableDevices(mode))
|
||||
deviceBox->addItem(deviceInfo.deviceName(), qVariantFromValue(deviceInfo));
|
||||
|
||||
deviceBox->setCurrentIndex(0);
|
||||
deviceChanged(0);
|
||||
}
|
||||
|
||||
void AudioTest::deviceChanged(int idx)
|
||||
{
|
||||
testResult->clear();
|
||||
|
||||
if (deviceBox->count() == 0)
|
||||
return;
|
||||
|
||||
// device has changed
|
||||
deviceInfo = deviceBox->itemData(idx).value<QAudioDeviceInfo>();
|
||||
|
||||
frequencyBox->clear();
|
||||
QList<int> freqz = deviceInfo.supportedFrequencies();
|
||||
for(int i = 0; i < freqz.size(); ++i)
|
||||
frequencyBox->addItem(QString("%1").arg(freqz.at(i)));
|
||||
if(freqz.size())
|
||||
settings.setFrequency(freqz.at(0));
|
||||
|
||||
channelsBox->clear();
|
||||
QList<int> chz = deviceInfo.supportedChannels();
|
||||
for(int i = 0; i < chz.size(); ++i)
|
||||
channelsBox->addItem(QString("%1").arg(chz.at(i)));
|
||||
if(chz.size())
|
||||
settings.setChannels(chz.at(0));
|
||||
|
||||
codecsBox->clear();
|
||||
QStringList codecz = deviceInfo.supportedCodecs();
|
||||
for (int i = 0; i < codecz.size(); ++i)
|
||||
codecsBox->addItem(QString("%1").arg(codecz.at(i)));
|
||||
if (codecz.size())
|
||||
settings.setCodec(codecz.at(0));
|
||||
// Add false to create failed condition!
|
||||
codecsBox->addItem("audio/test");
|
||||
|
||||
sampleSizesBox->clear();
|
||||
QList<int> sampleSizez = deviceInfo.supportedSampleSizes();
|
||||
for (int i = 0; i < sampleSizez.size(); ++i)
|
||||
sampleSizesBox->addItem(QString("%1").arg(sampleSizez.at(i)));
|
||||
if (sampleSizez.size())
|
||||
settings.setSampleSize(sampleSizez.at(0));
|
||||
|
||||
sampleTypesBox->clear();
|
||||
QList<QAudioFormat::SampleType> sampleTypez = deviceInfo.supportedSampleTypes();
|
||||
|
||||
for (int i = 0; i < sampleTypez.size(); ++i)
|
||||
sampleTypesBox->addItem(toString(sampleTypez.at(i)));
|
||||
if (sampleTypez.size())
|
||||
settings.setSampleType(sampleTypez.at(0));
|
||||
|
||||
endianBox->clear();
|
||||
QList<QAudioFormat::Endian> endianz = deviceInfo.supportedByteOrders();
|
||||
for (int i = 0; i < endianz.size(); ++i)
|
||||
endianBox->addItem(toString(endianz.at(i)));
|
||||
if (endianz.size())
|
||||
settings.setByteOrder(endianz.at(0));
|
||||
|
||||
allFormatsTable->clearContents();
|
||||
}
|
||||
|
||||
void AudioTest::populateTable()
|
||||
{
|
||||
int row = 0;
|
||||
|
||||
QAudioFormat format;
|
||||
foreach (QString codec, deviceInfo.supportedCodecs()) {
|
||||
format.setCodec(codec);
|
||||
foreach (int frequency, deviceInfo.supportedFrequencies()) {
|
||||
format.setFrequency(frequency);
|
||||
foreach (int channels, deviceInfo.supportedChannels()) {
|
||||
format.setChannels(channels);
|
||||
foreach (QAudioFormat::SampleType sampleType, deviceInfo.supportedSampleTypes()) {
|
||||
format.setSampleType(sampleType);
|
||||
foreach (int sampleSize, deviceInfo.supportedSampleSizes()) {
|
||||
format.setSampleSize(sampleSize);
|
||||
foreach (QAudioFormat::Endian endian, deviceInfo.supportedByteOrders()) {
|
||||
format.setByteOrder(endian);
|
||||
if (deviceInfo.isFormatSupported(format)) {
|
||||
allFormatsTable->setRowCount(row + 1);
|
||||
|
||||
QTableWidgetItem *codecItem = new QTableWidgetItem(format.codec());
|
||||
allFormatsTable->setItem(row, 0, codecItem);
|
||||
|
||||
QTableWidgetItem *frequencyItem = new QTableWidgetItem(QString("%1").arg(format.frequency()));
|
||||
allFormatsTable->setItem(row, 1, frequencyItem);
|
||||
|
||||
QTableWidgetItem *channelsItem = new QTableWidgetItem(QString("%1").arg(format.channels()));
|
||||
allFormatsTable->setItem(row, 2, channelsItem);
|
||||
|
||||
QTableWidgetItem *sampleTypeItem = new QTableWidgetItem(toString(format.sampleType()));
|
||||
allFormatsTable->setItem(row, 3, sampleTypeItem);
|
||||
|
||||
QTableWidgetItem *sampleSizeItem = new QTableWidgetItem(QString("%1").arg(format.sampleSize()));
|
||||
allFormatsTable->setItem(row, 4, sampleSizeItem);
|
||||
|
||||
QTableWidgetItem *byteOrderItem = new QTableWidgetItem(toString(format.byteOrder()));
|
||||
allFormatsTable->setItem(row, 5, byteOrderItem);
|
||||
|
||||
++row;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void AudioTest::freqChanged(int idx)
|
||||
{
|
||||
// freq has changed
|
||||
settings.setFrequency(frequencyBox->itemText(idx).toInt());
|
||||
}
|
||||
|
||||
void AudioTest::channelChanged(int idx)
|
||||
{
|
||||
settings.setChannels(channelsBox->itemText(idx).toInt());
|
||||
}
|
||||
|
||||
void AudioTest::codecChanged(int idx)
|
||||
{
|
||||
settings.setCodec(codecsBox->itemText(idx));
|
||||
}
|
||||
|
||||
void AudioTest::sampleSizeChanged(int idx)
|
||||
{
|
||||
settings.setSampleSize(sampleSizesBox->itemText(idx).toInt());
|
||||
}
|
||||
|
||||
void AudioTest::sampleTypeChanged(int idx)
|
||||
{
|
||||
switch (sampleTypesBox->itemText(idx).toInt()) {
|
||||
case QAudioFormat::SignedInt:
|
||||
settings.setSampleType(QAudioFormat::SignedInt);
|
||||
break;
|
||||
case QAudioFormat::UnSignedInt:
|
||||
settings.setSampleType(QAudioFormat::UnSignedInt);
|
||||
break;
|
||||
case QAudioFormat::Float:
|
||||
settings.setSampleType(QAudioFormat::Float);
|
||||
}
|
||||
}
|
||||
|
||||
void AudioTest::endianChanged(int idx)
|
||||
{
|
||||
switch (endianBox->itemText(idx).toInt()) {
|
||||
case QAudioFormat::LittleEndian:
|
||||
settings.setByteOrder(QAudioFormat::LittleEndian);
|
||||
break;
|
||||
case QAudioFormat::BigEndian:
|
||||
settings.setByteOrder(QAudioFormat::BigEndian);
|
||||
}
|
||||
}
|
||||
83
examples/audiodevices/audiodevices.h
Normal file
83
examples/audiodevices/audiodevices.h
Normal file
@@ -0,0 +1,83 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
|
||||
** All rights reserved.
|
||||
** Contact: Nokia Corporation (qt-info@nokia.com)
|
||||
**
|
||||
** This file is part of the examples of the Qt Mobility Components.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:BSD$
|
||||
** You may use this file under the terms of the BSD license as follows:
|
||||
**
|
||||
** "Redistribution and use in source and binary forms, with or without
|
||||
** modification, are permitted provided that the following conditions are
|
||||
** met:
|
||||
** * Redistributions of source code must retain the above copyright
|
||||
** notice, this list of conditions and the following disclaimer.
|
||||
** * Redistributions in binary form must reproduce the above copyright
|
||||
** notice, this list of conditions and the following disclaimer in
|
||||
** the documentation and/or other materials provided with the
|
||||
** distribution.
|
||||
** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
|
||||
** the names of its contributors may be used to endorse or promote
|
||||
** products derived from this software without specific prior written
|
||||
** permission.
|
||||
**
|
||||
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
#ifndef AUDIODEVICES_H
|
||||
#define AUDIODEVICES_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QMainWindow>
|
||||
#include <qaudiodeviceinfo.h>
|
||||
|
||||
#include "ui_audiodevicesbase.h"
|
||||
|
||||
class AudioDevicesBase : public QMainWindow, public Ui::AudioDevicesBase
|
||||
{
|
||||
public:
|
||||
AudioDevicesBase(QWidget *parent = 0, Qt::WFlags f = 0);
|
||||
virtual ~AudioDevicesBase();
|
||||
};
|
||||
|
||||
class AudioTest : public AudioDevicesBase
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
AudioTest(QWidget *parent = 0, Qt::WFlags f = 0);
|
||||
virtual ~AudioTest();
|
||||
|
||||
QAudioDeviceInfo deviceInfo;
|
||||
QAudioFormat settings;
|
||||
QAudio::Mode mode;
|
||||
|
||||
private slots:
|
||||
void modeChanged(int idx);
|
||||
void deviceChanged(int idx);
|
||||
void freqChanged(int idx);
|
||||
void channelChanged(int idx);
|
||||
void codecChanged(int idx);
|
||||
void sampleSizeChanged(int idx);
|
||||
void sampleTypeChanged(int idx);
|
||||
void endianChanged(int idx);
|
||||
void test();
|
||||
void populateTable();
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
21
examples/audiodevices/audiodevices.pro
Normal file
21
examples/audiodevices/audiodevices.pro
Normal file
@@ -0,0 +1,21 @@
|
||||
TEMPLATE = app
|
||||
CONFIG += example
|
||||
|
||||
INCLUDEPATH += ../../src/multimedia ../../src/multimedia/audio
|
||||
include(../mobility_examples.pri)
|
||||
|
||||
CONFIG += mobility
|
||||
MOBILITY = multimedia
|
||||
|
||||
QMAKE_RPATHDIR += $$DESTDIR
|
||||
|
||||
HEADERS = audiodevices.h
|
||||
|
||||
SOURCES = audiodevices.cpp \
|
||||
main.cpp
|
||||
|
||||
FORMS += audiodevicesbase.ui
|
||||
|
||||
symbian {
|
||||
TARGET.CAPABILITY = UserEnvironment WriteDeviceData ReadDeviceData
|
||||
}
|
||||
399
examples/audiodevices/audiodevicesbase.ui
Normal file
399
examples/audiodevices/audiodevicesbase.ui
Normal file
@@ -0,0 +1,399 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>AudioDevicesBase</class>
|
||||
<widget class="QMainWindow" name="AudioDevicesBase">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>679</width>
|
||||
<height>598</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Audio Devices</string>
|
||||
</property>
|
||||
<widget class="QWidget" name="centralwidget">
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QScrollArea" name="scrollArea">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="widgetResizable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<widget class="QWidget" name="scrollAreaWidgetContents">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>659</width>
|
||||
<height>558</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_4">
|
||||
<item row="0" column="0">
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="modeLabel">
|
||||
<property name="text">
|
||||
<string>Mode</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLabel" name="deviceLabel">
|
||||
<property name="text">
|
||||
<string>Device</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QComboBox" name="modeBox">
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Input</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Output</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QComboBox" name="deviceBox"/>
|
||||
</item>
|
||||
<item row="2" column="0" colspan="2">
|
||||
<widget class="QTabWidget" name="tabWidget">
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="testFormatTab">
|
||||
<attribute name="title">
|
||||
<string>Test format</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="1">
|
||||
<widget class="QLabel" name="actualLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Plain</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string><i>Actual Settings</i></string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::RichText</enum>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QLabel" name="nearestLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Plain</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-style:italic;">Nearest Settings</span></p></body></html></string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::RichText</enum>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QComboBox" name="frequencyBox">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="2">
|
||||
<widget class="QLineEdit" name="nearestFreq">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<widget class="QComboBox" name="channelsBox"/>
|
||||
</item>
|
||||
<item row="5" column="2">
|
||||
<widget class="QLineEdit" name="nearestChannel">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="9" column="1">
|
||||
<widget class="QComboBox" name="sampleSizesBox"/>
|
||||
</item>
|
||||
<item row="9" column="2">
|
||||
<widget class="QLineEdit" name="nearestSampleSize">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="14" column="1">
|
||||
<widget class="QComboBox" name="endianBox"/>
|
||||
</item>
|
||||
<item row="14" column="2">
|
||||
<widget class="QLineEdit" name="nearestEndian">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="15" column="1">
|
||||
<widget class="QPushButton" name="testButton">
|
||||
<property name="text">
|
||||
<string>Test</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="15" column="2">
|
||||
<widget class="QLabel" name="testResult">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="actualFreqLabel">
|
||||
<property name="text">
|
||||
<string>Frequency (Hz)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<widget class="QLabel" name="actualChannelLabel">
|
||||
<property name="text">
|
||||
<string>Channels</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="9" column="0">
|
||||
<widget class="QLabel" name="actualSampleSizeLabel">
|
||||
<property name="text">
|
||||
<string>Sample size (bits)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="14" column="0">
|
||||
<widget class="QLabel" name="actualEndianLabel">
|
||||
<property name="text">
|
||||
<string>Endianess</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="16" column="0" colspan="3">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Note: an invalid codec 'audio/test' exists in order to allow an invalid format to be constructed, and therefore to trigger a 'nearest format' calculation.</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="actualCodecLabel">
|
||||
<property name="text">
|
||||
<string>Codec</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="2">
|
||||
<widget class="QLineEdit" name="nearestCodec">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QComboBox" name="codecsBox"/>
|
||||
</item>
|
||||
<item row="6" column="0">
|
||||
<widget class="QLabel" name="actualSampleTypeLabel">
|
||||
<property name="text">
|
||||
<string>SampleType</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="1">
|
||||
<widget class="QComboBox" name="sampleTypesBox"/>
|
||||
</item>
|
||||
<item row="6" column="2">
|
||||
<widget class="QLineEdit" name="nearestSampleType">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="tab">
|
||||
<attribute name="title">
|
||||
<string>All formats</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<widget class="QPushButton" name="populateTableButton">
|
||||
<property name="text">
|
||||
<string>Populate table</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QTableWidget" name="allFormatsTable">
|
||||
<property name="editTriggers">
|
||||
<set>QAbstractItemView::NoEditTriggers</set>
|
||||
</property>
|
||||
<property name="dragDropOverwriteMode">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="selectionMode">
|
||||
<enum>QAbstractItemView::NoSelection</enum>
|
||||
</property>
|
||||
<property name="selectionBehavior">
|
||||
<enum>QAbstractItemView::SelectItems</enum>
|
||||
</property>
|
||||
<property name="textElideMode">
|
||||
<enum>Qt::ElideNone</enum>
|
||||
</property>
|
||||
<property name="sortingEnabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="cornerButtonEnabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<attribute name="horizontalHeaderHighlightSections">
|
||||
<bool>false</bool>
|
||||
</attribute>
|
||||
<attribute name="verticalHeaderVisible">
|
||||
<bool>false</bool>
|
||||
</attribute>
|
||||
<attribute name="verticalHeaderHighlightSections">
|
||||
<bool>false</bool>
|
||||
</attribute>
|
||||
<attribute name="verticalHeaderVisible">
|
||||
<bool>false</bool>
|
||||
</attribute>
|
||||
<attribute name="horizontalHeaderHighlightSections">
|
||||
<bool>false</bool>
|
||||
</attribute>
|
||||
<attribute name="verticalHeaderHighlightSections">
|
||||
<bool>false</bool>
|
||||
</attribute>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Codec</string>
|
||||
</property>
|
||||
<property name="textAlignment">
|
||||
<set>AlignHCenter|AlignVCenter|AlignCenter</set>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Frequency (Hz)</string>
|
||||
</property>
|
||||
<property name="textAlignment">
|
||||
<set>AlignHCenter|AlignVCenter|AlignCenter</set>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Channels</string>
|
||||
</property>
|
||||
<property name="textAlignment">
|
||||
<set>AlignHCenter|AlignVCenter|AlignCenter</set>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Sample type</string>
|
||||
</property>
|
||||
<property name="textAlignment">
|
||||
<set>AlignHCenter|AlignVCenter|AlignCenter</set>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Sample size (bits)</string>
|
||||
</property>
|
||||
<property name="textAlignment">
|
||||
<set>AlignHCenter|AlignVCenter|AlignCenter</set>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Endianness</string>
|
||||
</property>
|
||||
<property name="textAlignment">
|
||||
<set>AlignHCenter|AlignVCenter|AlignCenter</set>
|
||||
</property>
|
||||
</column>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QStatusBar" name="statusbar"/>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
Reference in New Issue
Block a user