コード例 #1
0
ファイル: atarisnd.c プロジェクト: Bremma/pinmame
static void playSound(void) {
    if (Machine->gamedrv->flags & GAME_NO_SOUND)
        return;

    if (atarilocals.sound & 0x02) { // noise on
        int i;
        for (i=0; i < sizeof(noiseWave); i++)
            noiseWave[i] = (UINT8)(rand() % 256);
        stopNoise();
        mixer_set_volume(atarilocals.noisechannel, atarilocals.volume*4);
        mixer_play_sample(atarilocals.noisechannel, (signed char *)noiseWave, sizeof(noiseWave),
                          ATARI_SNDFREQ / (16-atarilocals.frequency) * (1 << atarilocals.octave), 1);
    }
    if (atarilocals.sound & 0x01) { // wave on
        stopSound();
        mixer_set_volume(atarilocals.channel, atarilocals.volume*4);
        if (atarilocals.waveform < 4)
            mixer_play_sample(atarilocals.channel, (signed char *)squareWave, sizeof(squareWave),
                              2 * ATARI_SNDFREQ / (16-atarilocals.frequency) * (1 << atarilocals.octave), 1);
        else if (atarilocals.waveform < 8)
            mixer_play_sample(atarilocals.channel, (signed char *)triangleWave, sizeof(triangleWave),
                              2 * ATARI_SNDFREQ / (16-atarilocals.frequency) * (1 << atarilocals.octave), 1);
        else if (atarilocals.waveform < 12)
            mixer_play_sample(atarilocals.channel, (signed char *)sineWave, sizeof(sineWave),
                              2 * ATARI_SNDFREQ / (16-atarilocals.frequency) * (1 << atarilocals.octave), 1);
        else
            mixer_play_sample(atarilocals.channel, (signed char *)sawtoothWave, sizeof(sawtoothWave),
                              2 * ATARI_SNDFREQ / (16-atarilocals.frequency) * (1 << atarilocals.octave), 1);
    }
}
コード例 #2
0
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow),
    fileManager(new FileManager(this)),
    config(new DataHolder()),
    batch(new BatchProcessing(config)),
    batchFile(new BatchFileProcessing(config, this))
{
    audioManager = new AudioManager(config, this);
    ui->setupUi(this);

    connect(ui->actionOpen, SIGNAL(triggered()), fileManager, SLOT(open()));
    connect(ui->actionOpen_Original, SIGNAL(triggered()), fileManager, SLOT(openOriginal()));
    connect(ui->actionSave, SIGNAL(triggered()), fileManager, SLOT(save()));
    connect(ui->playOrig, SIGNAL(clicked()), audioManager, SLOT(playNoise()));
    connect(ui->stopOrig, SIGNAL(clicked()), audioManager, SLOT(stopNoise()));

    connect(ui->playReduced, SIGNAL(clicked()), audioManager, SLOT(playRed()));
    connect(ui->stopReduced, SIGNAL(clicked()), audioManager, SLOT(stopRed()));

    connect(ui->apply, SIGNAL(clicked()), this, SLOT(apply()));

    connect(ui->model, SIGNAL(currentIndexChanged(int)), config, SLOT(setModel(int)));

    connect(ui->wavelets, SIGNAL(stateChanged(int)), config, SLOT(setEnableWavelets(int)));

    connect(audioManager, SIGNAL(sNRR(QString)), ui->NRR, SLOT(setText(QString)));
    connect(audioManager, SIGNAL(sSDR(QString)), ui->SDR, SLOT(setText(QString)));
    connect(audioManager, SIGNAL(sNRR(QString)), batch, SLOT(sNRR(QString)));
    connect(audioManager, SIGNAL(sSDR(QString)), batch, SLOT(sSDR(QString)));
    connect(audioManager, SIGNAL(sNRR(QString)), batchFile, SLOT(sNRR(QString)));
    connect(audioManager, SIGNAL(sSDR(QString)), batchFile, SLOT(sSDR(QString)));

    connect(batch, SIGNAL(process()), audioManager, SLOT(exec()));
    connect(batchFile, SIGNAL(process()), audioManager, SLOT(exec()));

    connect(ui->actionBatch_computing, SIGNAL(triggered()), batch, SLOT(exec()));
    connect(ui->actionMultiple_files_processing, SIGNAL(triggered()), batchFile, SLOT(exec()));

    connect(fileManager, SIGNAL(originalLoaded(bool)), ui->checkBox, SLOT(setChecked(bool)));
    connect(fileManager, SIGNAL(noisyLoaded(bool)), ui->checkBox_2, SLOT(setChecked(bool)));
}