void testNotePitch() { Sheet* sheet = new Sheet(); Bar* bar = sheet->addBar(); Part* part = sheet->addPart("part"); Voice* voice = part->addVoice(); Staff* staff = part->addStaff(); VoiceBar* vb = bar->voice(voice); for (int p = -20; p <= 20; p++) { Chord* c = new Chord(QuarterNote); c->addNote(staff, p); vb->addElement(c); } validateOutput(sheet, "notepitch.xml"); delete sheet; }
void testNoteAccidentals() { Sheet* sheet = new Sheet(); Bar* bar = sheet->addBar(); Part* part = sheet->addPart("part"); Voice* voice = part->addVoice(); Staff* staff = part->addStaff(); VoiceBar* vb = bar->voice(voice); for (int a = -2; a <= 2; a++) { Chord* c = new Chord(QuarterNote); c->addNote(staff, 0, a); vb->addElement(c); } validateOutput(sheet, "noteaccidentals.xml"); delete sheet; }
void testNoteDurations() { Sheet* sheet = new Sheet(); Bar* bar = sheet->addBar(); Part* part = sheet->addPart("part"); Voice* voice = part->addVoice(); Staff* staff = part->addStaff(); VoiceBar* vb = bar->voice(voice); for (Duration d = HundredTwentyEighthNote; d <= BreveNote; d = (Duration)(d + 1)) { Chord* c = new Chord(d); c->addNote(staff, 0); vb->addElement(c); } for (int i = 1; i < 4; i++) { Chord* c = new Chord(QuarterNote, i); c->addNote(staff, 0); vb->addElement(c); } validateOutput(sheet, "notedurations.xml"); delete sheet; }
MusicShape::MusicShape() : KoFrameShape("http://www.koffice.org/music", "shape"), m_firstSystem(0), m_style(new MusicStyle), m_engraver(new Engraver()), m_renderer(new MusicRenderer(m_style)), m_successor(0), m_predecessor(0) { /* kDebug() << "firstShape:" << firstShape << "this:" << this; if (firstShape) { firstShape->m_successor = this; m_predecessor = firstShape; m_sheet = firstShape->m_sheet; m_firstSystem = firstShape->m_lastSystem+1; m_engraver->engraveSheet(m_sheet, m_firstSystem, QSizeF(1e9, 1e9), true, &m_lastSystem); firstShape = this; } else { firstShape = this;*/ m_sheet = new Sheet(); Bar* bar = m_sheet->addBar(); Part* part = m_sheet->addPart("Part 1"); Staff* staff = part->addStaff(); part->addVoice(); bar->addStaffElement(new Clef(staff, 0, Clef::Trebble, 2, 0)); bar->addStaffElement(new TimeSignature(staff, 0, 4, 4)); // add some more default bars for (int i = 0; i < 9; i++) { m_sheet->addBar(); } m_engraver->engraveSheet(m_sheet, 0, QSizeF(1e9, 1e9), true, &m_lastSystem); // } }