コード例 #1
0
ファイル: midi_player.cpp プロジェクト: RoberNoTson/JV1080lib
//  SLOTS
void JVlibForm::on_System_OpenMidi_button_clicked()
{
    disconnect_port();
//    close_seq();
    System_PlayMidi_button->setChecked(false);
    System_PlayMidi_button->setEnabled(false);
    System_PauseMidi_button->setEnabled(false);
    SysFilePlaying->clear();
    System_MIDI_Transpose->setValue(0);
    System_MIDI_KeySig->clear();
    MIDI_length_display->setText("00:00");
    QString fn = QFileDialog::getOpenFileName(this,"Open MIDI File",MIDI_dir,"Midi files (*.mid, *.MID);;Any (*.*)");
    if (fn.isEmpty())
        return;
    strcpy(playfile, fn.toAscii().data());
    SysFilePlaying->setText(fn);
    init_seq();
    if (!queue) queue = snd_seq_alloc_named_queue(seq, "midi_play");
    check_snd("create queue", queue);
    connect_port();
    all_events.clear();
    if (!parseFile(playfile)) {
        QMessageBox::critical(this, "MIDI Player", QString("Error parsing input file"));
        return;
    }   // parseFile
    System_MIDI_progressBar->setRange(0,all_events.back().tick);
    System_MIDI_progressBar->setTickInterval(song_length_seconds<240? all_events.back().tick/song_length_seconds*10 : all_events.back().tick/song_length_seconds*30);
    System_MIDI_progressBar->setTickPosition(QSlider::TicksAbove);
    MIDI_length_display->setText(QString::number(static_cast<int>(song_length_seconds/60)).rightJustified(2,'0') + ":" + QString::number(static_cast<int>(song_length_seconds)%60).rightJustified(2,'0'));
    System_PlayMidi_button->setEnabled(true);
    System_MIDI_Transpose->setEnabled(true);
}   // end on_System_OpenMidi_button_clicked
コード例 #2
0
ファイル: MidiQueue.cpp プロジェクト: dissabte/smidi
void MidiQueue::init(snd_seq_t* sequencer, const std::string& name)
{
	if (_id == kInvalidId)
	{
		_sequencer = sequencer;
		_id = snd_seq_alloc_named_queue(sequencer, name.c_str());
	}
	else
	{
		std::cerr << "Queue is already initialized\n";
	}
}
コード例 #3
0
ファイル: alsadriver.c プロジェクト: rbdrum2midi/rbdrum2midi
// create a queue and return its id
int my_queue(snd_seq_t *handle)
{
    return snd_seq_alloc_named_queue(handle, "Game Drumkit queue");
}