Screenshot: Track Properties Frame, Custom Key Signatures. Looks like a DAW now :)
You can see the Track Properties frame here. Internal, Print/Lilypond and Playback/Midi settings can be changed here.There is also a new dialog, one of many, that can create custom Key Signatures. Any combination of naturals/flats/sharps with any root note. Leave a comment or join #laborejo on irc.freenode.org if you have any questions or, indeed, comments.
A Playback Promise
No picture or video today.
I am working on playback. Currently I am able to generate a midi file with notes/chords, rests, tempo change, time signature (not important for midi, though) and all kind of midi channel modifications. Technically all midi control changes (like pedals) are possible already, I just haven't implemented them yet. Staccato is working as well, btw.
What isn't even planned yet is a real midi backend for JACK or ALSA midi (or the inferior OSX/Win32 systems). I want JACK midi as soon as possible, but I am unable to do so myself. This means I need help and help is only attracted by good software. So I have to work on that first.
Screenshot: Explicit Key Signatures

Kids today learn that "One Sharp" as a keysig means G Major or E minor which is a very over-simplified and misleading approach.
A keysignature does not make a scale or key. You need a root, a basic tone, as well. Laborejo works with explicit key signatures (internaly, not in Lilypond mode). You can set any combination of seven accidentals: Sharp, Flat, Doublesharp, Doubleflat, Natural (none), Explicit Natural (shown) but you must provide a root note, which is shown as text under the key signature.
Of course the software comes with an easy-to-use preset of typical key signatures: Major, minor, "church" modes, whole-tone, some exotic "Lord of the Rings" keysignatures" etc. So if you want to build your South Indian Melakarta System: no problem.
Why? Finding and knowing the root of the current scale/key is a fundamental process in any analysis or composition. The more explicit you work the easier for Laborejo to help you compose and analyse. An extremely detailed approach would be to use hidden (non-lilypond) keysignatures all the time to teach the program which tonal enviroment is currently active. (An alternative approach would be to set a root for any chord and note, even single ones: "This e is meant as major third from C". But this sounds unpractical. Which is not a reason to not provide this feature... later
Key-Signature placement: A system without logic.
The traditional placing of a key signature, the general accidentals that indicate which scale you use, seems to be not a logical system.
The meaning is always clear, it does not matter where you place the accidentals on the lines, it is only a matter of layout, it has to look good. So what are the guidelines to place one accidental-sign on the lines? First let's have a look how the traditional placement looks like (image source: http://music.thefxcode.com/):

Initially I thought the algorhythm to find the correct placement for any accidental (for example the sign for F-Sharp) is:
"Go down in octave steps from the highest usable octave-variant of that pitch (derived from the human hearing range and therefore the design of instruments and music) until you get a note which, in combination with the current Clef, has no ledger line".
So let's have a look how that looks with just two clefs, Treble and Bass. The notes represent possible accidental positions. G-Major, F-Major and something with G-Sharp, probably A-Major:
We can see that the "First non-ledger-line position from top to bottom" works pretty well. The F-sharp marker would be on the first line (from the top) in treble clef or on the second line in bass clef. Same for measure two treble clef and measure three bass clef.
But wait…
Measure three treble and measure two bass need the same line/positions. The position mean different things, but remember this is all about layout. When we look up on the "traditional" chart we see that A Major still follows my pattern. g'' (Lilypond syntax) is outside of the five-line-system but has no ledger lines. Prediction -> Experiment -> Confirmed.
Again: This has nothing to do with pitches or music, so for the Bass clef the analog layout shoudld be true. F-Major needs an B-flat which can be found above the first line. Same situation: No ledger line, first case where this is true top-down direction.
Now look at the char above, second row first measure. Bang, contradiction! I can't see the reason.
On top of that the traditional approach does not even follow a pattern. Because of the nature of accidentals and their origin in the pillar of fifths you often can see a fourth and fifth up/down pattern. But this is obviously only a result of anoter pattern I can't see or, as I suspect, no pattern at all! The flat key signatures seem to follow a 4th up/5th down pattern. But with a different clef you exceed the Fife-Line Range again. What happens then can be seen when you use the treble clef. The pattern breaks and you have to use another position.
So we have a situation where we have two patterns/algorhythms. The one I desribed (top-down, first non-ledger line) and the mirror pattern: bottom-up which can be seen on the bass clef system. Additionaly there is a minor tendence to begin with a 4th interval and alternate with a 5th, which results in the up/down mirror situation with flats and sharps (because they go in different directions in the pillar of fifths).
For a conclusion I still have to check the other clefs: All C-Clefs and shifting the G and F clef to "french clef", "sub bass" and others. Even if there is a single rule/pattern which always results in the traditional layout I am disappointed how complex it must be and then still produces ugly output like B-Major with the treble clef. Maybe I can find another explanation. Do you know any? Please comment!
The name is Laborejo, and #laborejo is the irc channel on freenode
The anonymous notation editor has now a name:
Laborejo - Music Notation Workshop
As you already might have googled, it is the Esperanto word for Workshop or Workplace.
You can also find me and other interested and interesting people in #laborejo on irc.freenode.org
I hope to see you there :)
Features that should be expected by default
It is surely nice to see and read about how you can insert and manipulate music. For other features this is not true: You should take certain features for granted from any ambitious software, that's why I will say this only once and not brag about something which should be there in the first place. However hard it is to program something, for a user it doesn't matter if something is hard or trivial.
The Notation Editor will have and be, of course:
- Free Software (GPL, from the first release)
- Save/Load
- Undo/Redo
- Insert, Modify and Delete any item non-linear (at any place).
- Work with selections
- Cut, Copy, Paste
- Customise and re-bind shortcuts and menu-accelarators
- Translatable GUI (everything the user sees)
- Can work as GUI steered or command line program: read in script-files that control the program instead of a gui. Making batch and automated tasks possible.
It will also be cross platform. Some people say cross platform makes software complex and bad. But these people mistake the interal hurdles that cross platform brings in with the benefit for the user and that the software in general becomes more round because it is tested on more systems with different input methods and usage-paradigms.
Maybe I forgot something fundamental, but if it falls in the category "How is it possible that a modern program does not do…" rest assured I want it as well.
Update: I forgot to mention JACK Audio Connection Kit as core engine for audio/midi playback, routing and sync/transport.
Ornaments, close-chordnotes-displacement and Lilypond View.
The notation editor slowly shifts away from WYSIWYG to "What you get is what you mean". Thus in todays screenshot the Lilypond View can be seen for the first time. The reason are ornaments like upbow and downbow which are not placed as you would expect them on paper but placed so that editing and modifying the score gets most efficient.
<
p> Also you see the letters "espr" under the second note. A clear break with WYSIWG: If the GUI encounters any (Lilypond-) directive on a note it cannot interprete it justs writes down the first letters of the internal tag; "Espressivo" in this case. This way you can use any Lilypond string you want without editing some textfile. More important: It means that adding features is a simple matter of combining the right Lilypond string with the right midi instructions (later). Anything added is optional, like a Glyph for the GUI.
A final note: A chord c'/d' now shifts one note to the right so becomes more visible.
[Video] Linked Notes
A video which briefly demonstrates linked notes. Changing one notes changes the other.
You can link just one note or a whole selection as "Paste As Linked Objects".
Later it will be possible to create whole containers which can be inserted multiple times.
Multi Measure Rests and a red cursor.
The MMRests are exactly as long as they sound. You can't place the cursor in any of the visually blank measures in the second staff. The next position would be measure 6, where the next notes indeed appear. Cosmetic change: The cursor is now red and appears before the items, not behind them.
Anoter word about spacing and durations: In staff 3 you see a whole note in the first measure where only a quarter would fit. But the following notes behave correctly and you can see that the displacement is finally solved in measure 4. All notes until then are in sync with other notes at the same time, for example in staff 1.
It is a simple principle: Each note takes its time/space and barlines are where the metrical cycle ("Counting") is over.
Did you know...
that this is the first post? And did you know that you can quickly find the root of any major chord (including dominant seventh and its variants like the diminished seventh chord) by finding the note which is the highest in the pillar of fifths? If you have only one sharp as accidental you already found it. If you know the major third you know the root.
Example: F# A C Eb / Fis A C Es. F#/Fis is the highest in the pillar of fifths; this is the major third so the root is D.
Nils Gey is the author of 