TODO 3.19 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26



        Contents of this TODO file:

        - Frescobaldi paradigm
        - TODO and wishes for Frescobaldi 2.x
        - ROADMAP for Frescobaldi 3.0
        - Other ideas/wishes


Frescobaldi paradigm
====================

With all the feature ideas, Frescobaldi should remain a simple and
straightforward application to use.  Which means:

- Not too much configurability. Just good defaults
- Shortcuts for the basic tasks
- Quick startup by loading modules only when the user requests a certain action
- Predictable behaviour
- Coding: separation of concerns, messages, modularity, encapsulation

See also README-development.


27 28
TODO and wishes for Frescobaldi 2.x
===================================
29

30
- LilyPond context help
31

32 33 34
- wizard to download and unpack LilyPond documentation and/or LilyPond itself

- Load .ly file specifying other encoding than UTF-8
35
  (this can be done from the command line but not via the user interface)
36

37
- interface for running lilypond-book
38

39 40 41
- Midi input and import. Probably using a basic sequencer, allowing changes,
  corrections and quantizing touchups before putting the LilyPond representation
  in the editor.
42
  * mamoch is working on Midi input like the 1.x rumor did.
43

44 45
- tool to separate out things from music and attach them to invisible rests (s)
  in a separate expression
46

47
- check or even auto-insert bar checks
48

49 50 51
- editing via Music View:
  * relevant context menu on right-clicking object
  * drag an object to e.g. create an \override #'extra-offset command
52

53 54 55
- Table of Contents support in qpopplerview
  stub: qpopplerview/toc.py

56

57 58 59 60 61 62 63 64 65 66 67
ROADMAP for Frescobaldi 3.0
===========================

At a certain point, master will become Frescobaldi 3 and Frescobaldi 2 will
get it's own branch "v2"

1. Use Python 3 (Frescobaldi 2.0 should also run with Python 3)

2. Require and make use of PyQt5 and Qt5 (recompile/update poppler-qt4)

3. SVG music view and editor
68

69 70 71 72 73 74
   Make a new music view that displays the SVG output of LilyPond and allows
   for very fine-grained editing, both via altering the LilyPond source but
   also editing and saving the SVG file manually to provide a final PDF
   rendering. Probably using QGraphicsWebView.


75 76
Other ideas/wishes
==================
77

78
- support for Git/Hg/Svn diff/revert/commit
79

80
- play from cursor: plays music to MIDI output
81

82 83 84
- editor:
    * context menu (with help, open filename, etc)
    * if matching brace out of view, popup a small display of it (idea:
85
      Francisco Vila)
86
    * vi-mode (stub: vimode/)
87

88 89 90 91 92 93
- define and extend API for script snippets

- make Frescobaldi API (using pydoc) browsable via the helpbrowser.

- \displayMusic tool to show music in Scheme format (by calling LilyPond's
  \displayMusic function on a music expression).
94

95 96 97 98 99 100 101 102 103
- extended manuscript viewer:
  * `<filename>.manuscripts` file to tie a (set of) manuscript(s) to a LilyPond
    document. This may be a simple JSON file or an MEI file (for further
    scholarly edition options)
  * create regions on the manuscript(s) identifying the physical location of
    measures. Use these for synchronizing the view with the editor and the
    music view.
  * Display a given measure/region in the different manuscripts
  * Provide compiled scores matching the manuscripts' line and page breaks.