Skip to content

Development Overview

donbyrd edited this page Apr 25, 2013 · 1 revision

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?

Clone this wiki locally