I found the following curious usage. Does anyone think it is wrong.The code
is taking and Element and casting it to Chord* before checking its element
type.I would think the static_cast<chord*> and the if ( ... chord-.tupe() !=
Element::Type::CHORD) continueshould be reversed? Am I confused?
void Score::createPlayEvents() { int etrack = nstaves() * VOICES;
for (int track = 0; track < etrack; ++track) { int mn=0;
for (Measure* m = firstMeasure(); m; mn++, m = m->nextMeasure()) {
// skip linked staves, except primary if
(!m->score()->staff(track / VOICES)->primaryStaff())
continue; const Segment::Type st =
Segment::Type::ChordRest; for (Segment* seg = m->first(st);
seg; seg = seg->next(st)) { Chord* chord =
static_cast<Chord*>(seg->element(track)); // curious line order
if (chord == 0 || chord->type() != Element::Type::CHORD) // curious line
order continue;
createPlayEvents(chord); } }
} }
--
View this message in context:
http://dev-list.musescore.org/funny-use-of-static-cast-tp7579352.html
Sent from the MuseScore Developer mailing list archive at Nabble.com.
------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
Mscore-developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mscore-developer