use of com.xenoage.zong.desktop.io.pdf.out.PdfScoreDocFileOutput in project Zong by Xenoage.
the class Content method saveAs.
/**
* Saves the current score using the given format.
* pdf, png, mid and ogg is supported by this demo.
*/
public void saveAs(String format) {
FileOutput<ScoreDoc> out = null;
switch(format) {
case "pdf":
out = new PdfScoreDocFileOutput();
break;
case "png":
out = new PngScoreDocFileOutput();
break;
case "mid":
out = new MidiScoreDocFileOutput();
break;
case "ogg":
out = new OggScoreDocFileOutput();
break;
default:
return;
}
String filePath = "demo." + format;
try {
DocumentIO.write(scoreDoc, new File(filePath), out);
mainWindow.showMessageDialog(filePath + " saved.");
} catch (Exception ex) {
Err.handle(Report.Companion.error(ex));
}
}
use of com.xenoage.zong.desktop.io.pdf.out.PdfScoreDocFileOutput in project Zong by Xenoage.
the class MusicXmlMassTest method testFile.
// */
private boolean testFile(File file) {
try {
// Load the file
// TIDY
ScoreDocFactory.setErrorLayoutEnabled(false);
ScoreDoc score = new MusicXmlScoreDocFileInput().read(new JseInputStream(file), file.getAbsolutePath());
// TIDY
ScoreDocFactory.setErrorLayoutEnabled(true);
// Check layout of loaded file
if (checkLayout) {
checkLayout(score, file.getName());
}
// Save it as MusicXML
File mxlSavedFile = getTempOutputPath(file, "-saved.mxl");
if (saveAsMxl) {
// new MusicXMLScoreDocFileOutput().write(score, new FileOutputStream(mxlSavedFile), mxlSavedFile);
}
// Save it as PDF
if (saveAsPdf) {
File pdfFile = getTempOutputPath(file, ".pdf");
new PdfScoreDocFileOutput().write(score, 0, new JseOutputStream(pdfFile));
}
// Save it as MIDI
if (saveAsMid) {
File midFile = getTempOutputPath(file, ".mid");
new MidiScoreDocFileOutput().write(score, 0, new JseOutputStream(midFile));
}
// Load it from saved MusicXML
if (loadFromSavedMxl) {
// TODO
}
// Success
System.out.print("OK: " + file.toString().substring(dir.length()) + " (" + score.getScore().getInfo().getTitle() + ")");
@SuppressWarnings("unchecked") List<String> errorMessages = (List<String>) score.getScore().getMetaData().get("mxlerrors");
if (errorMessages != null)
System.out.print(" ! " + errorMessages.size() + " warning(s)");
System.out.println();
return true;
} catch (Throwable ex) {
ex.printStackTrace();
// fail("Failed to load file: " + file);
System.out.println("fail: " + file.toString().substring(dir.length()));
return false;
}
}
use of com.xenoage.zong.desktop.io.pdf.out.PdfScoreDocFileOutput in project Zong by Xenoage.
the class MinimalDemo method main.
public static void main(String... args) throws Exception {
// initialize platform-dependent utilities, including I/O.
// the app name is required for the working directory
JseZongPlatformUtils.init(appName);
for (int i = 0; i < 1000; i++) {
// load MusicXML file
File inFile = new File("scores/BeetAnGeSample.xml");
ScoreDoc doc = DocumentIO.read(inFile, new MusicXmlScoreDocFileInput());
// convert to PDF
File outFile = new File("demo.pdf");
DocumentIO.write(doc, outFile, new PdfScoreDocFileOutput());
// finished. open the PDF file.
// Desktop.getDesktop().open(outFile);
System.out.println(i);
}
}
Aggregations