Development Overview - AMNS/Nightingale GitHub Wiki
Development
The main areas of work for bringing Ngale into the 2nd decade of the 21st century --- i.e., running native on Intel processors -- seem to be (these are not necessarily discrete chunks of work):
- Music drawing
- Operating system
- resource file (bundle) elimination
- User interface (these last two imply redesigning graphics bitmaps for icons, etc.)
- clean up all unreached/uncompiled code
Target environment(s)
- Required: MacOS Snow Leopard, Lion, and Mountain Lion (10.6 - 10.8), Intel only (32 or 64 bit)
- Desirable: iPad, iOS ?? (Yes, we should leave the door open for ARM/iOS -chirgwin)
OS Version Port: Lion vs. Mountain Lion
- Skip Lion (10.7) and go straight to Mountain Lion (v10.8) (with backwards down to 10.6)
Music Fonts
- Briard is the only officially and fully supported notation font. Rationale: intellectual property issues with Sonata; BlueNotz is less appropriate for most users we care about (e.g., us :-) )
- Support for other notation fonts -- at least Sonata and BlueNotz -- is desirable
Development Environment
- Xcode. Initially, 4.2 is preferred; 3.2 should be okay too, though projects probably aren't backwards compatible (are they?)
Graphics toolkit
Quartz 2D
TO DO
- This should be broken down into finer granularity/detail and github issues opened
- Strategy: add functionality to Geoff's Cocoa proof-of-concept (instead of the original "Move away from MacOS 10.4 SDK / Carbon / Rosetta towards MacOS 10.8 / Cocoa")
- Avoid deprecation warnings.
- Build automated testing framework.
- Use property list (PList, or other plain text file) and bitmap image files instead of resources (.rsrc).
PUNT
Graphics toolkit (C++, cross-platform, 3rd party)
- Candidates: Cairo, QT, GTK, JUCE, emd; others?