From: Mathias L. <lun...@us...> - 2005-06-13 18:31:35
|
Update of /cvsroot/lmuse/muse/muse/arranger In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15023/muse/arranger Modified Files: Tag: REL07 pcanvas.cpp Log Message: Support added for midi part import/export Index: pcanvas.cpp =================================================================== RCS file: /cvsroot/lmuse/muse/muse/arranger/Attic/pcanvas.cpp,v retrieving revision 1.48.2.1 retrieving revision 1.48.2.2 diff -C2 -d -r1.48.2.1 -r1.48.2.2 *** pcanvas.cpp 27 Dec 2004 21:53:32 -0000 1.48.2.1 --- pcanvas.cpp 13 Jun 2005 18:31:26 -0000 1.48.2.2 *************** *** 35,38 **** --- 35,39 ---- #include "gconfig.h" #include "app.h" + #include "filedialog.h" const char* partColorNames[] = { *************** *** 545,548 **** --- 546,550 ---- partPopup->insertItem(*pianoIconSet, tr("pianoroll"), 10); partPopup->insertItem(*edit_listIcon, tr("list"), 12); + partPopup->insertItem(tr("export"), 16); break; case Track::DRUM: *************** *** 637,640 **** --- 639,659 ---- audio->msgChangePart(spart, dpart, false); song->endUndo(SC_PART_MODIFIED); + break; // Has to be break here, right? + } + case 16: // Export to file + { + const Part* part = item->part(); + bool popenFlag = false; + QString fn = getSaveFileName(QString(""), part_file_pattern, this, tr("MusE: save part")); + if (!fn.isEmpty()) { + FILE* fp = fileOpen(this, fn, ".mpt", "w", popenFlag, false, false); + if (fp) { + printf("File was opened!\n"); + Xml tmpXml = Xml(fp); + part->write(0, tmpXml); + fclose(fp); + } + } + break; } case 20 ... NUM_PARTCOLORS+20: *************** *** 1600,1604 **** else if (type == 2) { text = text.stripWhiteSpace(); ! if (text.endsWith(".wav",false)) { int x = sigmap.raster(event->pos().x(), *_raster); --- 1619,1623 ---- else if (type == 2) { text = text.stripWhiteSpace(); ! if (text.endsWith(".wav",false) || text.endsWith(".mpt", false)) { int x = sigmap.raster(event->pos().x(), *_raster); *************** *** 1611,1621 **** if (track) { ! if (track->type() == Track::WAVE) { - QUrl url(text); - QString newPath = url.path(); - muse->importWaveToTrack(newPath, track); } } } --- 1630,1644 ---- if (track) { ! QUrl url(text); ! QString newPath = url.path(); ! if (track->type() == Track::WAVE && text.endsWith(".wav", false)) { muse->importWaveToTrack(newPath, track); } + else if (track->type() == Track::MIDI && text.endsWith(".mpt", false)) + { + unsigned tick = x; + muse->importPartToTrack(newPath, tick, track); + } } } |