Exemplo n.º 1
0
void MidiTrack::writeToFile(ostream & output) {

	if (!mClosed) {
		closeTrack();
	}

	if (mSizeNeedsRecalculating) {
		recalculateSize();
	}

	output.write((char*)IDENTIFIER, 4);
	output.write(MidiUtil::intToBytes(mSize, 4), 4);

	MidiEvent * lastEvent = NULL;

	std::vector<MidiEvent*>::iterator it;
	for (it = mEvents.begin();
		it != mEvents.end();
		it++) {
		MidiEvent * _event = *it;
		if (VERBOSE) {
			cout << "Writing: " << _event->toString().c_str();
		}

		_event->writeToFile(output, _event->requiresStatusByte(lastEvent));

		lastEvent = _event;
	}
}
Exemplo n.º 2
0
// ----------------------------------------------------------------------------
void Editor::newTrack()
{
    closeTrack();
    f32 size = (f32)m_new_dialog_wndw->getSize();
    Track* t = new Track(size, size);
    t->setFileName(m_new_dialog_wndw->getFileName());
    t->setTrackName(m_new_dialog_wndw->getTrackName());
    t->setDesigner(m_new_dialog_wndw->getDesigner());
    t->setGravityRoad(m_new_dialog_wndw->gravRoad());
    m_viewport->setTrack(t);

    RoadPanel::getRoadPanel()->updateRoadList();

} // newTrack
Exemplo n.º 3
0
// ----------------------------------------------------------------------------
bool Editor::open(path p)
{
    closeTrack();
    m_device->getFileSystem()->changeWorkingDirectoryTo(m_def_wd);
    if (m_viewport->setTrack(new Track(p.c_str())))
    {
        TerrPanel* tp = TerrPanel::getTerrPanel();
        tp->refreshTerrainTextures(m_viewport->getTerrain()->getMaterial(0));
        m_viewport->setSplineMode(false);
        m_viewport->setState(Viewport::SELECT);
        RoadPanel::getRoadPanel()->updateRoadList();
        return true;
    }
    else return false;
} // open