LineSegment* Ottava::createLineSegment() { OttavaSegment* os = new OttavaSegment(this, score()); os->setTrack(track()); os->initElementStyle(&ottavaSegmentStyle); return os; }
void Ottava::setOttavaType(OttavaType val) { setEndHook(true); _ottavaType = val; const OttavaDefault* def = &ottavaDefault[int(val)]; Spatium hook(score()->styleS(ST_ottavaHook)); SymId id = _numbersOnly ? def->numbersOnlyId : def->id; if (symIsValid(id)) { if (beginSymbolStyle == PropertyStyle::STYLED) setBeginSymbol(id); if (continueSymbolStyle == PropertyStyle::STYLED) setContinueSymbol(id); setBeginSymbolOffset(def->offset); setContinueSymbolOffset(def->offset); foreach(SpannerSegment* s, spannerSegments()) { OttavaSegment* os = static_cast<OttavaSegment*>(s); os->clearText(); } delete _beginText; _beginText = 0; delete _continueText; _continueText = 0; }
void Ottava::setOttavaType(OttavaType val) { setEndHook(true); _ottavaType = val; Spatium hook(score()->styleS(ST_ottavaHook)); SymId id; if (_numbersOnly) id = ottavaDefault[int(val)].numbersOnlyId; else id = ottavaDefault[int(val)].id; if (beginSymbolStyle == PropertyStyle::STYLED) setBeginSymbol(id); if (continueSymbolStyle == PropertyStyle::STYLED) setContinueSymbol(id); setBeginSymbolOffset(ottavaDefault[int(val)].offset); setContinueSymbolOffset(ottavaDefault[int(val)].offset); setEndHookHeight(hook * ottavaDefault[int(val)].hookDirection); setPlacement(ottavaDefault[int(val)].place); _pitchShift = ottavaDefault[int(val)].shift; foreach(SpannerSegment* s, spannerSegments()) { OttavaSegment* os = static_cast<OttavaSegment*>(s); os->clearText(); }
void Ottava::setOttavaType(OttavaType val) { if (val == _ottavaType) return; setEndHook(true); _ottavaType = val; Spatium hook(score()->styleS(ST_ottavaHook)); const TextStyle& ts = score()->textStyle(TEXT_STYLE_OTTAVA); switch(val) { case OTTAVA_8VA: setBeginText("8va", ts); setContinueText("(8va)", ts); setEndHookHeight(hook); _pitchShift = 12; break; case OTTAVA_15MA: setBeginText("15ma", ts); setContinueText("(15ma)", ts); setEndHookHeight(hook); _pitchShift = 24; break; case OTTAVA_8VB: setBeginText("8vb", ts); setContinueText("(8vb)", ts); _pitchShift = -12; setEndHookHeight(-hook); break; case OTTAVA_15MB: setBeginText("15mb", ts); setContinueText("(15mb)", ts); _pitchShift = -24; setEndHookHeight(-hook); break; } foreach(SpannerSegment* s, spannerSegments()) { OttavaSegment* os = static_cast<OttavaSegment*>(s); os->clearText(); }