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); } }
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))); }