File: TODO

package info (click to toggle)
frescobaldi 3.0.0%2Bds1-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 14,884 kB
  • sloc: python: 37,968; sh: 180; makefile: 69
file content (103 lines) | stat: -rw-r--r-- 3,266 bytes parent folder | download | duplicates (2)
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103



        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.


TODO and wishes for Frescobaldi 2.x
===================================

- LilyPond context help

- wizard to download and unpack LilyPond documentation and/or LilyPond itself

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

- interface for running lilypond-book

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

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

- check or even auto-insert bar checks

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

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


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

   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.


Other ideas/wishes
==================

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

- play from cursor: plays music to MIDI output

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

- 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).

- 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.