Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo


Tree [bcfd64] master /

File Date Author Commit
JHcmp 2013-11-05 Andrew Russell Andrew Russell [646106] Working with HCMP, Removing bin files.
JHcmpControl 2013-11-05 Andrew Russell Andrew Russell [646106] Working with HCMP, Removing bin files.
LSDWindows 2013-11-08 Andrew Russell Andrew Russell [bcfd64] Added README
SCompiler 2013-11-05 Andrew Russell Andrew Russell [646106] Working with HCMP, Removing bin files.
ScoreModel 2013-11-08 Andrew Russell Andrew Russell [38bac0] Adding Annies song
.DS_Store 2013-07-30 Zeyu Jin Zeyu Jin [08c3b9] Init
.gitignore 2013-11-05 Andrew Russell Andrew Russell [714870] more cleanup
README.md 2013-11-08 Andrew Russell Andrew Russell [bcfd64] Added README

Read Me

Live Score Display

There are currently five projects in livedisp. However, only three of them are currently in use. The other two have been deprecated and will be removed in the near future.

  • LSDWindows
  • SCompiler
  • ScoreModel

LSDWindows is the main project and where the UI and main program logic is implemented. The main function is located in ind.zeyu.lsd.LSDController. Running that function will start the program.

We currently do not use a make system. Instead, we are simply loading these projects into Eclipse then running LSDController through Eclipse.


There are two main usages for Live Score Display: annotating scores and playing back annotated scores. Live Score Display can be used alone for annotating scores, but it requires an implementation of HCMP (see aurart/hcmp) to be used for playback.

While in annotation mode, there are three main actions to perform:
1. Marking the systems
2. Adding the bar lines
3. Adding events to the bar lines

Annotation Scores

Editing Systems

The system editing tool is the top left icon with the horizontal blue lines.

To create a new system, left click on the upper bounds of the system, then drag downwards to the lower bound. You will want to leave a boundary around the system to make sure no notes get cut off.

To edit a system, left click on either the upper or lower bounds of an already created system and drag in the desired direction.

To remove a system, double right click on either the upper or lower bound. Removing a system also removes all related bar lines and events.

Editing Bar Lines

The bar line editing tool is the third from the top on the left hand row of icons. It has a light blue vertical line on it which represents a bar line.

To create a bar line, left click somewhere inside of a system.

To edit a bar line, left click and drag the bar line.

To remove a bar line, double right click on one. This will remove all associated events.

Editing Events

The tool bar on the left with the smaller icons (the right hand one) is the events tool bar. It contains various events which can be added to bar lines. Not all of them are functioning and only a couple of them will be covered here.

Section Labeller

This is the top most icon, the one with an 'A' on it.

To create a section, click on the icon, then select the appropriate section number. Currently, the section letter selector is broken and will always be 'A'. To create the section label, left click on any bar line.

Currently, sections cannot be edited or removed using the selection tool. They can be removed using the Events List Pane (described below).

Time Signatures

These are the second through fifth icons. They look like time signatures. If you don't know what a time signature looks like, then why are you annotating music! :D

To create a time signature, select the appropriate time, then left click on a bar line. These function correctly in annotation mode, but are entirely ignored during playback.

Removal can only be done through the Events List Pane.

Events List Pane

The bottom right corner contains the Events List Pane. This is a list of all bar lines and all associated events on that bar line.

Each bar line has four pieces of information which looks like:
[bar] [P0 S0 TP.0] m.1
Where P0 is the current page number, S0 is the current system number on the current page, TP.0 is the current bar line number within the current system. m.1 is the current measure number (1 based index) in the entire score.

If a bar line has any events associated with it, they are listed below, preceded by two dashes.

An example view looks like.
[bar] [P0 S0 TP.0] m.1 --4/4 [bar] [P0 S0 TP.1] m.2 --[A1] [bar] [P0 S0 TP.2] m.3 [bar] [P0 S0 TP.3] m.4 --2/4 --[A2] [bar] [P0 S0 TP.4] m.5

To remove an event, simply click on it with the mouse to select it. This should highlight it. Then click on the red 'x' button to the left of the list. It is the lowest of the three buttons.

There is currently an error when removing bar lines. Just don't remove bar lines this way and instead remove them using the bar line editing tool.

Saving and Loading Annotations

In the 'File' menu, there are two options 'Quick Load' and 'Quick Save'. 'Quick Save' saves the current data for the current song. Each song has a single save spot. Use 'Quick Load' to load the save for the current song.

Playing Back Scores

From the 'Action' menu, select 'Arrange Score'. Please note that you must have at least one bar line for this to work. This will open up the arrangement window. Ignore this for now as it is not fully implemented. On the arrangement window, click the 'Enter Performance Mode' button in the bottom right. This will bring up the playback window.

At this point, you will be prompted for the HCMP server info. If you are using the aurart/hcmp implementation (which is the only existing implementation at the time of writing), then the default ports are good. However, the IP Address should be changed to point to the server it is running on.

Once connected to HCMP, there are two main interactions:
Controlling the playback through the HCMP application
Modifying the display of the score

All other buttons or controls on screen that are mentioned are either broken, not implemented, or do weird things when used.

Controlling the playback

All playback is done through the HCMP interface. Live Score Display correctly listens to position and tempo changing messages, play, pause and stop messages, as well as synchronization messages from HCMP.

Modifying the display of the score

There are two modifications to be done here. The first changes the number of systems to be displayed at one time. The default is 3 but can be changed to 1-4. The other is the height of the systems. The default height is 120 but can be changed to 80-200 in increments of 20. These options are changed through the 'Systems' and 'Distance' drop down boxes directly above the score.