|
Posted by Jimi-Carlo Bukowski-Wills on August 5, 2006, 8:43 pm
Please log in for more thread options
I forgot to say...
YES, this will be entirely scalable (graphically) since each graphical
element shall be created using lines and ovals using the Tk::Canvas
createLine, createOval, etc
J
On Fri, 04 Aug 2006 14:29:31 +0000, Jimi-Carlo Bukowski-Wills wrote:
> Peter, thanks for your feedback...
>
> I'm hoping to either...
>
> 1) Use an existing musical representation format (such as Music::Note) or
>
> 2) Create an appropriate "ideal" musical representation format
>
> ... that will allow conversion to any format...
> including output using lilypond syntax, muscript syntax, and a variety of
> other formats
>
> Audio::Beep accepts the lilypond format which means that exporting in this
> format would allow playback.
>
> I suppose that one of the central parts of this module will be translation
> of music from one notation/representation to another... perhaps I should
> propose this as a separate system of modules...
>
> There should be an ideal way to represent the data of music, but there are
> many ways of notating it. I want this ideal representation to allow easy
> translation to any notation format. It is this ideal representation that
> the Tk::MusicSheet widget will export as a data structure. The data can
> then be filtered through another module to create a version in some format
> or other, eg lilypond, noteworthy, midi, letter, ABC, number,
> integer, parsons, and so on.
>
> What do you think?
>
> Jimi
>
>
> On Fri, 04 Aug 2006 08:44:20 +1100, Peter Billam wrote:
>
>> On 2006-08-03, Jimi-Carlo Bukowski-Wills wrote:
>>> There are several key areas here:
>>> 1) Display of items on the screen
>>> 2) Addition of directions, comments, etc
>>> 3) Modification of item preferences (stalks, accidentals, etc)
>>> 4) Calculation of positions:
>>> - a) horizontally
>>> - b) vertically
>>> 5) Representation of musical notes
>>> - a) length
>>> - b) pitch
>>>
>>> ... 1) Display of items onscreen..
>>> - a) I want to display music for editing only...
>>> -- i) The staves can run on horizontally as long as they like
>>> (like in Noteworthy Composer)
>>> -- ii) We only need one Canvas widget to display things on
>>> -- iii) for final prints we can export to Lilypond
>>> - b) I want to display musical directions, and perhaps other comments
>>> - c) It would be nice to include lyric editing here too
>>>
>>> So I need to create routines to draw notes, stems, tails, rests, etc,
>>> And I need to place them in the correct places using a cursor
>>> The cursor will be moved according to the note sizes, spacing values, etc,
>>> stored in the staff object and the note lengths stored in the note objects
>>>
>>> For appending a single note, only that note and the length of the staff
>>> need to be altered. But for editing, inserting or deleting a note,
>>> the rest of the notes need to be re-painted/moved
>>>
>>> Comments??
>>
>> Check out muscript http://www.pjb.com.au/muscript which has compact
>> PostScript routines to draw all the things you want (eg. treble-clefs :-) )
>> I hope you can keep your things scaleable, it's pretty important to
>> be able to have small staves and large staves.
>>
>> Try to not confine output to Lilypond format. MusicXML can be a useful
>> lingua franca. MIDI would allow the piece to be heard while editing,
>> very useful for proof-reading. Hopefully it will be easy for other
>> programmers to generate output in their own formats, or to input a
>> score into your MusicSheet...
>>
>> Regards, Peter
|