This library renders a subset of ABC Music Notation in Unity. It is built on the ABCSharp parsing library.
The easiest way to to use the library is to install it using the Unity package manager. To install the package from your local disk refer to Installing UPM Packages from local folders. To install the package from git directly refer to Installing UPM Packages from Git. This project requires the installation of the basic TextMeshPro asset package.
The included sample scene shows basic layout usage.
The ABCLayout
prefab serves as a top level container for all the sprites needed to display the score. The layout will attempt to fill as the area defined by the object's RectTransform.
Abc code is rendering using the LoadString
, LoadStream
, or LoadFile
methods on the ABCUnity.Layout
class.
Individual items can have their color set using the SetItemColor
method.
The following text in ABC format:
X:1
M:C
L:1/4
V:1
V:2 clef=bass
K:C
[V:1] !5!c>_BAG | FGAF | !2!G/2A/2!4!_B/2G/2 A>G| !1!F !3!E !1!F2 |
[V:2] !3!!5![F,A,]4 | [F,A,]4 | !2!!4![G,_B,]2 !3!!5![F,A,]2| z2 [F,A,]2 |
[V:1] !5!c>_BAG | FGAF | G/2A/2!4!_B/2G/2 A>G| !1!F !3!E !1!F2 | Z |
[V:2] [F,A,]4 | !3!!5![F,A,]4 | !2!!4![G,_B,]2 [F,A,]2| z2 [F,A,]2 | !4!G, > A, !2!_B, G, |
Appears in the game engine as:
Create a new abc file in the Runtime/Resources/Tests
folder that contains the test abc code. The file should be specified as testname.abc.txt
.
Add a new entry to the testFiles
array in Runtime/Tests/TestUi.cs
Create a new MuseScore file in the Runtime/Tests/Baselines~
folder that correctly renders the functionality you are testing.
The test harness is loacated in the Runtime/Tests/Test.unity
scene.
Enter playmode and select the test which to run from the dropdown menu.
Compare the output with the corresponding baseline file.