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

add new page support - refactor page layout system layout and system data #94

Merged
merged 107 commits into from
Jun 13, 2020
Merged
Show file tree
Hide file tree
Changes from 102 commits
Commits
Show all changes
107 commits
Select commit Hold shift + click to select a range
85d36ff
page margin data
webern May 10, 2020
b711519
page layout data
webern May 11, 2020
0ec5ba8
update circleci runner image
webern May 11, 2020
8150e74
todos
webern May 11, 2020
0545ff5
undo unrelated changes from another branch
webern May 11, 2020
1a02850
Merge branch 'master' into pages
May 16, 2020
8e74968
Merge branch 'master' into pages
webern May 16, 2020
2bace83
Merge branch 'pages' of github.com:webern/mx into pages
webern May 16, 2020
0e3eb35
Merge branch 'master' into pages
webern May 31, 2020
e0244f6
idea
webern May 31, 2020
1e57d6f
use optional for page layout data
webern Jun 1, 2020
4f6dc89
begin working on writing the page layout data xml
webern Jun 1, 2020
2a289b6
refactor layout function
webern Jun 1, 2020
00e24b4
refactoring
webern Jun 1, 2020
1ebb2ee
too late need to stop here
webern Jun 1, 2020
8017391
write to xml
webern Jun 2, 2020
88d5cda
musicxml file with page breaks
webern Jun 2, 2020
03a0b7f
some progress with page breaks
webern Jun 2, 2020
c138ebe
unrelated utility file
webern Jun 2, 2020
2e32d25
change PageData design
webern Jun 4, 2020
8bcd845
close with score reader
webern Jun 6, 2020
29d08ff
page data test passing
webern Jun 6, 2020
db13f3b
LoadFinaleExport test
webern Jun 6, 2020
eeb790c
cleanup - working checkpoint
webern Jun 6, 2020
160f01e
changelog
webern Jun 6, 2020
3c8980c
xcode
webern Jun 6, 2020
ad9ed6f
remove visibility setting
webern Jun 6, 2020
90f2f56
xcode
webern Jun 6, 2020
6999709
xcode
webern Jun 7, 2020
d58fb54
changelog
webern Jun 7, 2020
90dc654
further refactor page data
webern Jun 7, 2020
a0e3894
further refactor page size
webern Jun 7, 2020
ba44ed5
save a debug thingy
webern Jun 7, 2020
ef24f34
rename LayoutData to SetupData
webern Jun 7, 2020
20552f8
changelog
webern Jun 7, 2020
e22d927
unrename
webern Jun 7, 2020
2ee530e
undo rename of LayoutData -- bad idea
webern Jun 7, 2020
572aacf
in the middle of refactoring system layout - broken
webern Jun 7, 2020
e769337
refactoring system layout - builds and passes
webern Jun 7, 2020
81974eb
fix a new-page bug probably temporarily
webern Jun 7, 2020
5812f61
create stub that holds both pagedata and systemdata
webern Jun 7, 2020
11c30ca
xxbadnames compiles but one test failes
webern Jun 7, 2020
b660d4e
working with the new xxbadname map
webern Jun 7, 2020
5b38348
rename xxbadnames to print
webern Jun 8, 2020
530238b
Revert "rename xxbadnames to print"
webern Jun 8, 2020
3810769
changelog
webern Jun 8, 2020
595c335
delete todo
webern Jun 8, 2020
0906ead
rename LayoutData to DefaultsData
webern Jun 8, 2020
6f0792e
rename code usages of ScoreData.layout to ScoreData.defaults
webern Jun 8, 2020
27c53c9
continue defaults renames
webern Jun 8, 2020
dbcb728
continue defaults rename
webern Jun 8, 2020
df3fc13
uh oh these tests must not be running
webern Jun 8, 2020
f8b0114
DocumentManagerTest.cpp
webern Jun 8, 2020
2908f29
continue defaults rename
webern Jun 8, 2020
41cacf7
continue with defaults rename
webern Jun 8, 2020
5b3e798
rename xxbadname to layout
webern Jun 8, 2020
72ed0dc
documentation
webern Jun 8, 2020
47c4c1d
xcode
webern Jun 8, 2020
6996afb
delete ide
webern Jun 8, 2020
2187fb5
remove unrelated dev script
webern Jun 8, 2020
6afb2b9
cleanups
webern Jun 8, 2020
e0b18c9
cleanups
webern Jun 8, 2020
33065c3
readme
webern Jun 8, 2020
6cb1043
Update Sourcecode/private/mxtest/api/ApiK015aLayoutScoreData.h
webern Jun 8, 2020
45609dc
Update Sourcecode/private/mxtest/api/ApiK015aLayoutScoreData.h
webern Jun 8, 2020
b410f05
Update Sourcecode/private/mxtest/api/ApiK015aLayoutScoreData.h
webern Jun 8, 2020
b45b71e
Update Sourcecode/private/mx/impl/LayoutFunctions.cpp
webern Jun 8, 2020
739cc68
Update Sourcecode/private/mx/impl/LayoutFunctions.cpp
webern Jun 8, 2020
92a9c7d
Update Sourcecode/include/mx/api/MeasureData.h
webern Jun 8, 2020
839a378
Merge branch 'pages' of github.com:webern/mx into pages
webern Jun 8, 2020
75c5bd5
Update .idea/.gitignore
webern Jun 8, 2020
af37fa6
documentation
webern Jun 8, 2020
05294d0
Merge branch 'pages' of github.com:webern/mx into pages
webern Jun 8, 2020
92cf3b4
changelog
webern Jun 11, 2020
86a3215
Update Sourcecode/private/mxtest/api/NewSystemTest.cpp
webern Jun 11, 2020
6ba0c44
Merge branch 'pages' of github.com:webern/mx into pages
webern Jun 11, 2020
e19f0af
sort headers
webern Jun 11, 2020
b7ed470
rename systemBreak to newSystem
webern Jun 11, 2020
539719c
some cleanups and some added todos
webern Jun 11, 2020
5e82a49
fix missed rename
webern Jun 11, 2020
b0c9c9d
fix build
webern Jun 11, 2020
2818811
Update Sourcecode/private/mx/impl/ScoreWriter.cpp
webern Jun 12, 2020
3683b6c
Update Sourcecode/include/mx/api/ApiCommon.h
webern Jun 12, 2020
f8d06b3
Update Sourcecode/include/mx/api/ApiCommon.h
webern Jun 12, 2020
076e2f2
Update Sourcecode/include/mx/api/MarginsData.h
webern Jun 12, 2020
0a4bd2f
Update Sourcecode/include/mx/api/PageLayoutData.h
webern Jun 12, 2020
8d5bb06
Update Sourcecode/include/mx/api/ScoreData.h
webern Jun 12, 2020
209ebc7
Update Sourcecode/private/mx/impl/LayoutFunctions.cpp
webern Jun 12, 2020
026d0cf
Update Sourcecode/private/mx/impl/LayoutFunctions.cpp
webern Jun 12, 2020
b456908
Update Sourcecode/private/mx/impl/ScoreReader.cpp
webern Jun 12, 2020
d3a11d2
Update Sourcecode/private/mxtest/api/PageDataTest.cpp
webern Jun 12, 2020
cc4c105
Update Sourcecode/private/mxtest/api/PageDataTest.cpp
webern Jun 12, 2020
ce864b0
Update Sourcecode/private/mxtest/api/PageDataTest.cpp
webern Jun 12, 2020
0551e71
Update Sourcecode/private/mx/impl/LayoutFunctions.cpp
webern Jun 12, 2020
a7319a4
documentation for DefaultsData and tenths
webern Jun 13, 2020
0a1d0ef
documentation in LayoutData
webern Jun 13, 2020
a4e3942
test cleanup
webern Jun 13, 2020
1cc80ee
restore .gitignore
webern Jun 13, 2020
10a801f
test cleanup
webern Jun 13, 2020
48a0518
PageData comment
webern Jun 13, 2020
79884c6
score reader self import to the top
webern Jun 13, 2020
ffd8ec3
score reader move comment
webern Jun 13, 2020
26857e3
Update Sourcecode/include/mx/api/DefaultsData.h
webern Jun 13, 2020
227db11
cleanup
webern Jun 13, 2020
02db81c
remove spurious isFirstMeasure check in MeasureWriter
webern Jun 13, 2020
9074fdc
remove dead code in ScoreReader
webern Jun 13, 2020
75dc58b
rename
webern Jun 13, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 30 additions & 6 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,44 @@ On 2020-05-31, two tags were deleted from origin, `v1.0.0` and `v1.0.1` and repl
If you cloned/forked the repository before 2020-05-31, consider making a new clone/fork or otherwise repairing the tags.

## [Unreleased]
- Support non-traditional key signatures in `mx::api` [#81]
- Add a constructor for `PitchData` [#90]
- Provide a hint in the exception message when a zip file is attempted [#67]
- Update the readme fairly substantially [#91]
- Add a changelog [#97]
- Hide the independence of the XML parser to reduce confusion about dependency management [#79]

### Breaking Changes
- Add support for `new-page` attributes and page layout [#94]
- The `LayoutData layout` field of `ScoreData` has been renamed to `DefaultsData defaults` [#94]
- What used to be the `LayoutData` class has been renamed to `DefaultsData`.
- This name change freed up the name `LayoutsData` to be used for a new class that better fits the name.
- The `std::set<SystemData> systems` field of `ScoreData` has been replaced by `std::map<MeasureIndex, LayoutData>`. [#94]
- `LayoutData` is a new class (not to be confused with `DefaultsData` which previously held the name).
- `LayoutData` holds a `SystemData` and a `PageData` (new) to specify system and page layout.
- Some recurring data patterns were factored out into new classes. [#94]
- The existing classes affected by these changes are:
- `DefaultsData` (which used to be called `LayoutData`).
- `SystemData`
- The new classes are:
- `LeftRight`
- `MarginsData`
- `PageLayoutData`
- `PageMarginsData`
- `SizeData`
- `SystemLayoutData`

### Other Changes
- Bump C++ standard to 17 [#93]
- Support non-traditional key signatures in `mx::api`. [#81]
- Add a constructor for `PitchData`. [#90]
- Provide a hint in the exception message when a zip file is attempted. [#67]
- Update the readme fairly substantially. [#91]
- Add a changelog. [#97]
- Hide the independence of the XML parser to reduce confusion about dependency management. [#79]
- The introduction of `std::optional` as a pattern for specifying optional data. [#94]

[#67]: https://github.com/webern/mx/pull/67
[#79]: https://github.com/webern/mx/pull/79
[#81]: https://github.com/webern/mx/pull/81
[#90]: https://github.com/webern/mx/pull/90
[#91]: https://github.com/webern/mx/pull/91
[#93]: https://github.com/webern/mx/pull/93
[#94]: https://github.com/webern/mx/pull/94
[#97]: https://github.com/webern/mx/pull/97

## [v0.4.1] - 2019-11-23
Expand Down
12 changes: 2 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -328,7 +328,6 @@ For example, here is the `ScoreData.h`, which represents the top level of the ob
class ScoreData
{
public:
ScoreData();
MusicXmlVersion musicXmlVersion;
std::string musicXmlType;
std::string workTitle;
Expand All @@ -342,18 +341,11 @@ public:
std::string copyright;
EncodingData encoding;
std::vector<PageTextData> pageTextItems;
LayoutData layout;
DefaultsData defaults;
std::vector<PartData> parts;
std::vector<PartGroupData> partGroups;
int ticksPerQuarter;
std::set<SystemData> systems;

int getNumMeasures() const;
int getNumStavesPerSystem() const;

/// sorts all of the events, directions, etc.
/// it is good to call this before writing to xml.
void sort();
std::map<MeasureIndex, LayoutData> layout;
};
```

Expand Down
Binary file added Resources/custom/systems-and-pages-original.musx
Binary file not shown.
Loading