Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pitch step and alter not set when creating grace note #1

Closed
diskzero opened this issue May 31, 2016 · 1 comment
Closed

Pitch step and alter not set when creating grace note #1

diskzero opened this issue May 31, 2016 · 1 comment
Assignees

Comments

@diskzero
Copy link

Here is how I am configuring the NoteParams. It works fine for rests and normal notes, but the Pitch properties are lost when creating a cue note.
`
if (item->isTemporal()) {
// Configure the note (also can be a rest)
const TemporalPtr temporal = std::dynamic_pointer_cast(item);
NoteParams noteParams;
noteParams.staffNumber = temporal->hand() + 1;
noteParams.voiceNumber = temporal->voice() + 1;
noteParams.duration = temporal->getDuration();
noteParams.durationType = temporal->XMLDurationType();

                        if (item->isNote()) {
                            const NotePtr note = std::dynamic_pointer_cast<Note>(item);
                            if (note->hasGrace()) {
                                noteParams.noteChoice = NoteChoice::Choice::grace;
                            }
                            noteParams.isRest = false;
                            noteParams.isChord = note->partOfChord(tIndex, mIndex) && !note->chordMain(tIndex, mIndex);
                            noteParams.stemDirection = note->stemUp() ? mx::utility::UpDown::up : mx::utility::UpDown::down;
                            noteParams.durationDots = note->dots();
                            noteParams.showAccidental = note->accidental();
                            std::string name;
                            note->XMLPitch(name, noteParams.step, noteParams.alter, noteParams.octave);
                            // std::vector<t::BeamValue> beams;

                        } else if (item->isRest()) {
                            const RestPtr rest = std::dynamic_pointer_cast<Rest>(item);
                            noteParams.isRest = true;
                        }

                        MusicDataChoicePtr noteData = createNote(noteParams);
                        partwiseMeasure->getMusicDataGroup()->addMusicDataChoice(noteData);
                    }

`

@webern webern self-assigned this Jun 1, 2016
@webern webern closed this as completed in 59a898e Jun 1, 2016
@webern
Copy link
Owner

webern commented Jun 1, 2016

This should be fixed. The functions in the mx::utility namespace are brand-new and are not a stable interface yet. The mx::t mx::e and mx::d namespaces are stable and complete (unless we find issues).

webern added a commit that referenced this issue Jun 7, 2016
…rk as expected with utility functions such as createNote

mx::utility::getOrAddMeasureProperties

mx::utility::getOrAddMeasureProperties
webern pushed a commit that referenced this issue Jun 7, 2016
Tests stubs aren’t done yet, but they build.  I am in hell.

Test Stubs for MxSeqSmp* classes build.  Now I will begin writing these tests by hand.

MxSeqSmp #1 of 17 is complete (MxSeqSmpNode3154)

This is excruciating

MxSeqSmp #2 of 17 is complete (MxSeqSmpNode3245)

MxSeqSmpNode3480Test is getting close

MxSeqSmp #3 of 17 is complete (MxSeqSmpNode3480)

Does not build.

SequenceSmpBldr now produces correct code.

MxSeqSmp #4 of 17 is complete (MxSeqSmpNode3499)

Actually #3 wasn’t done, but now it is.

Working on MxSeqSmpNode3871Test.cpp

MxSeqSmp #5 of 17 is complete (MxSeqSmpNode3871)

MxSeqSmp #6 of 17 is complete (MxSeqSmpNode3993)

MxSeqSmp #7 of 17 is complete (MxSeqSmpNode4104)

MxSeqSmp #7 of 17 is complete (MxSeqSmpNode4104)

A little work on MxSeqSmpNode4143 tests.

MxSeqSmp #8 of 17 is complete (MxSeqSmpNode4143)

MxElementCollection

MxEmEnsemble

SQL

meta

meta
webern added a commit that referenced this issue Jun 7, 2016
…rk as expected with utility functions such as createNote

mx::utility::getOrAddMeasureProperties

mx::utility::getOrAddMeasureProperties
webern pushed a commit that referenced this issue Jun 7, 2016
I’ve been working on the railroad all the livelong day.

I’ve been working on the railroad, all the livelong zzzzzz…

I’ve been working on the railroad, all the live long day.

Working.

Working.

Builds

Builds

Builds

Builds

Builds.  Changed course. Sequences will now set and return shared pointer handles to their contained elements.

Builds.  Runs.  Outputs the first inception of MxSeqSmp .h files.

Builds

Builds

Builds

Builds

Builds

Builds

Builds

Builds

Builds

Does not Build

Builds

Builds

Added shared_ptr and vector typedefs in MxEe* and MxEs*.  Builds.

MxSeqSmpNodes build with placeholder “throw” code.  Note: I had to create MxEmPageHeight and MxEmPageWidth.  I do not know why these were not created along with the rest of the MxEm* classes.

Backed up MySQL Database.

Tests stubs aren’t done yet, but they build.  I am in hell.

Test Stubs for MxSeqSmp* classes build.  Now I will begin writing these tests by hand.

MxSeqSmp #1 of 17 is complete (MxSeqSmpNode3154)

This is excruciating

MxSeqSmp #2 of 17 is complete (MxSeqSmpNode3245)

MxSeqSmpNode3480Test is getting close

MxSeqSmp #3 of 17 is complete (MxSeqSmpNode3480)

Does not build.

SequenceSmpBldr now produces correct code.

MxSeqSmp #4 of 17 is complete (MxSeqSmpNode3499)

Actually #3 wasn’t done, but now it is.

Working on MxSeqSmpNode3871Test.cpp

MxSeqSmp #5 of 17 is complete (MxSeqSmpNode3871)

MxSeqSmp #6 of 17 is complete (MxSeqSmpNode3993)

MxSeqSmp #7 of 17 is complete (MxSeqSmpNode4104)

MxSeqSmp #7 of 17 is complete (MxSeqSmpNode4104)

A little work on MxSeqSmpNode4143 tests.

MxSeqSmp #8 of 17 is complete (MxSeqSmpNode4143)

MxElementCollection

MxEmEnsemble

SQL

meta

meta

Created the Insanity Branch to try a new approach.

So crazy

Cleanup

Hmmm

Update README.md

Checkin

Less Crazy Now

Onion

Thoughts

naming.md

Builds, so far so good.

Wow, static linking for Db!  Yes!

SQL Functional

Field.cpp

Changed Field to DbField

Db

xcode crashed

ok

finished with DB for now.

xsd renaming old xparse stuff

xdd stuff

xdd builds

xsd

yay

MsItem::isFirstClassConcept

Added iterator access to MsDocument

First Class concept filtering

MsItemWeb

Handle special cases for MsItems that are weird

Hurts my brain

…

…

nothing

Changed implementation of MsItemKindString

Created File library project.

Added files to libFile

libFile stuff

All MsItemKind::attribute items now parse to simpleTypes (i.e. xs:* and xml:* and xlink:* special cases handled)

MsItemSimpleType

MsItemSimpleType

MsItemSimpleType

Deleted a few things

Xsd does not build

Xsd Does not Build

enums

setIsImplemented & gitignore

Staring on MsItemSimpleTypeInteger

midnight oil

MxIntegers

MxIntegers are Implemented (no tests)

MxDecimals

MxIntegersTest

MxIntegersTest and IntType DecimalType aliases

Floating point hell

MxDecimalsTest

MxDecimalsTest

MxDecimalsTest complete for now. Two tests are failing due to ostream float issues.

Mode and ModeEnum

Mode tests complete

Strings

MxStrings

Xlinks

Strings

CommaSeparatedText

Comma Separated Types Completed

Color

Removed the Mx prefix from file names

Fixed pimple problem, started FontSize

Renamed test files

NumberOrNormal implemented, tests needed

small change

NumberOrNormal

All Value Types Complete (PositiveIntegerOrEmpty)

xsd MsItemAttribute

Attributes parse recursively

MsItemElement started

MsItemElement  and Dynamics

ElementInterface AttributesInterface, doesn’t build

Working on parsing AccidentalText element

working on AttributeText

AccidentalText

codegenIsValueElement.h

Lots of Simple Value Elements Implemented

Adding Tests for Value Elements

Added Tests for all of the implemented Value Elements (I think)

Renamed gomsItemElementTest to goCreateValueElements

No op

72 Tests Failing

59 Tests Failing

49 Tests Failing

41 Tests Failing

29 Tests Failing

16 Tests Failing

12 Tests Failing

3 Tests Failing

All Tests Pass - Value Elements (With Attributes) Complete

Created all ValueNoAttribute Elements

Tests do not build many Enum vs Element name clashes

I just had a crash and battery is dying

Does not build but very close

Tests Build 101 Failures

Thinking about aggregate elements

45 Tests Failing

37 Tests Failing

26 Tests Failing

18 Tests Failing

All Tests Pass Value-No-Attributes Elements Complete

added hasContents() to ElementInterface

Empty Elements Implemented and Tested

Working on EmptyElementsWithAttributes

Added EmptyElementsWithAttributes, but no tests yet

EmptyElementWithAttributes Tests added 36 failing

Marked these as Implemented = true in database

15 Tests Failing

All tests pass

Updated Xcode Project Sorting and Readme

Begin finding unimplemented elements that are not aggregates.

pause

Added more Empty Elements (with attributes)

30 Tests Failing

no op

15 Tests Failing

All Tests Pass, done with EmptyElementsWithAttributes

Added minOccurs and maxOccurs to MsItemElement

Working on the parsing of composite elements

Traditional Key Group

Not much

Just a Commit

Xcode is Crashing a lot

sir crahsalot

c

c

c

c

c

c

c

Key element

crashy

Key element is done. Added Vector aliases for all elements.

crashy

Go doesn’t build

crashy

Back to a happy state

Got rid of the commented out duplicates in Elements.h

crashy

makeShared convenience functions added

Updated UnimplementedElelements.xml writer

codegenElementStub

codegenElementStubCpp

crashy

crashy

crashy

Clef Element Implemented, 100 Elements to Go

crashy

crashy

Transpose implemented, 99 elements to go

crashy

crashy

Directive Element implemented, 98 elements to go

save

BeatRepeat element implemented, 97 to go

Slash element implemented, 96 to go

save

save

save

StaffTuning element implemented, 95 to go

save

save

save

save

save

save

save

save

StaffDetails element implemented, 94 to go

save

save

save

save

save

save

save

MeasureStyle element implemented, 93 to go

save

save

save

save

save

save

save

Interchangeable element implemented, 92 to go

save

save

save

AccordionRegistration element implemented, 91 to go

Working on Time element

save

save

save

Time element implemented, 90 to go

save

String element implemented, 88 to go

save

save

save

FrameNote element implemented, 87 to go

save

save

save

save

Frame element implemented, 86 to go

save

save

save

PedalTuning element implemented, 85 to go

save

save

ssave

save

HarpPedals implemented, 84 to go

save

save

save

save

save

save

MetronomeTuplet implemented, 83 to go

save

MetronomeNote implemented, 81 to go

starting on Metronome element (difficult)

save

save

save

save

save

save

save

save

save

save

save

save

sdave

save

save crashy

save

save

Xcode is crashing a lot

save

save

save

save

save

save

save

save

save

save

save

save

save

save

crashy

save

save

save

save

save

save

save

Metronome element implemented, I think it’s correct but very very difficult.

save

save

save

save

Stick element implemented.

MeasureLayout element implemented

save

save

PartAbbreviationDisplay element implemented, 75 to go

save

save

Percussion element implemented, 74 to go

save

Accord element implemented, 73 to go

save

Scordatura element implemented, 72 to go

save

save

save

save

save

save

save

save

save

DirectiveType element implemented, 71 to go

save

save

MidiInstrument element implemented, 70 to go

save

save

save

save

save

save

save

Play element implemented, 69 to go. also added #ifdef guards to tests to avoid long compiles by disabling tests

save

Encoding element implemented, 68 to go

save

Miscellaneous element implemented, 66 to go

save

Sound element implemented, 65 to go

Actually 64 to go

PageMargins element implemented.

SystemMargins element implemented

SystemDividers element implemented

StrongAccent element implemented

Figure element implemented

save

save

TimeModification element implemented

57 to go

save

NoteheadText element implemented

save

save

Articulations element implemented

save

save

save

save

save

working on Lyric element, which is very difficult

save

LyricTextChoice implemented (part of the Lyric element)

EditorialGroup implemented (part of Lyric element as well as other elements)

save

Lyric element implemented (I think)

55 to go

save

Mordent element implemented

InvertedMordent element implemented

Heel element implemented

Toe element implemented

Hole element implemented

save

save

save

save

save

save

TupletActual element implemented

save

TupletNormal element implemented

48 elements to go

Tuplet element implemented

save

save

Scaling element implemented

Appearance element implemented

VirtualInstrument element implemented, 44 to go

save

save

save

save

Root element implemented

Root element implemented

Bass element implemented

save

Degree element implemented

save

PageLayout element implemented, 39 to go

save

save

SystemLayout element implemented

StaffLayout element implemented

Pitch element implemented

Unpitched element implemented (but with 6 tests failing)

35.5 elements to go

All tests pass

Rest element implemented

Backup element implemented

EditorialVoiceGroup implemented

Forward element implemented

save

FiguredBass element implemented

Barline element implemented

30 elements to go

save

Grouping element implemented

LayoutGroup implemented

save

save

Defaults element implemented

27 elements to go

sace

save

save

save

save

Ornaments element implemented

save

save

BendChoice implemented

Bend element implemented

Arrow element implemented

save

GroupAbbreviationDisplay element implemented

save

Identification element implemented

save

PartAbbrfeviationDisplay element reimplemented

20 elements to go

save

ScoreInstrument element implemented

save

save

License

HarmonyChordGroup implemented

save

save

Harmony element implemented.

save

save

Credit element implemented

16 elements to go

save

save

save

Harmonic element implemented @ 2015 04 18 03:34 PM

save

Print element implemented @ 2014 04 18 05:07 PM

Print element implemented @ 2014 04 18 05:07 PM

PartGroup element implemented @ 2014 04 18 05:53 PM

13 elements to go.

save

save

save

save

Technical element implemented @ 2015 04 18 09:52 PM

save

save

save

Direction element implemented @ 2015 04 18 10:48 PM

Attribute element will be named Properties instead.  It is mostly implemented.

save

Attributes element implemented (named Properties class) @ 2015 04 19 05:36 PM

ScorePart element implemented @ 2015 04 19 @ 08:20 PM

9 elements to go

NotationsChoice implemented

Notations element implemented @ 2015 04 19 10:16 PM

save, started at about 8:30 AM 2015 04 20

save

save

save

save

save

save

save

Note element implemented @ 2015 04 20 03:12 PM

save

save

save

PartList element implemented

6 elements to go

save

save

MusicDataChoice implemented

MusicDataGroup implemented.

Measure element implemented

Part element implemented

2 elements to go

so close now

ScoreHeaderGroup implemented

ScorePartwise implemented (it’s alive!)

Fixen issue with uninitialized bool in Note element, finished ScorePartwise tests.

Refactored Part to PartwisePart

TimewisePart implemented, PartwiseMeasure refactored (was Measure)

TimewiseMeasure implemented

ScoreTimewise implanted, also changed PositiveDecimal to initialize to 1 instead of 0.0000000001

save

save

save

save

All Elements Implemented, all 2424 running and passing

Gitignore updated

Updated read me

Deleted Extraneous (Meta) Projects

CppUnitLite is now contained within the MxTest project

deleted two folder

save

DocumentHeader class implemented

save

save

HelloWorldTest created

HelloWorldTest fails, I need to stringize the expected value.

Taking it for a Spin!

save

refactored namespace types to namespace t

save

testing types to t refactor

Refactor of types name space to t works, tests pass (except for the Hello World known failure)

License updated to (modified) MIT license.

License update

Update Readme

Changes to support Visual Studio 2013 build

Readme

Readme

Readme

Added identification to top of code files

Added identification to top of code files

Readme

Readme

Readme

Readme

Readme

Readme

Readme

Readme

Readme

Readme

Readme

Readme
webern pushed a commit that referenced this issue Jun 7, 2016
MxSeqSmpNodes build with placeholder “throw” code.  Note: I had to create MxEmPageHeight and MxEmPageWidth.  I do not know why these were not created along with the rest of the MxEm* classes.

Backed up MySQL Database.

Tests stubs aren’t done yet, but they build.  I am in hell.

Test Stubs for MxSeqSmp* classes build.  Now I will begin writing these tests by hand.

MxSeqSmp #1 of 17 is complete (MxSeqSmpNode3154)

This is excruciating
webern added a commit that referenced this issue Jun 7, 2016
closes #1 - create switching logic so cue, grace, and normal notes work as expected with utility functions such as createNote

mx::utility::getOrAddMeasureProperties
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants