denemo-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Denemo-devel] Import filter for CapXML


From: Andreas Schneider
Subject: Re: [Denemo-devel] Import filter for CapXML
Date: Sat, 04 Apr 2015 16:54:03 +0200
User-agent: Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Icedove/31.6.0

Am 03.04.2015 um 15:33 schrieb Richard Shann:
> On Fri, 2015-04-03 at 15:01 +0200, Andreas Schneider wrote:
>> Thank you for pointing to the CapToMusic script which I previously did
>> not know. However, I could not get it working -- I always get an error
>> "No module named caplib.capDOM", maybe one needs a full version of
>> Capella to run it. Too bad, that would have been the easy way.
>>
>> I am familiar with C, but not with Python.
> 
> In that case there is a fairly straightforward route, clone the files
> src/export/importmusicxml.[ch] and then modify the xml fields that are
> searched for. This would save a good part of the work, as there are
> procedures such as insert_note() to put a note into the score and
> add_note()to add a note to the chord at the cursor and so on. The basic
> strategy followed is to step through the input building up a Scheme
> script (by appending to GStrings, one for each voice IIRC), and then at
> the end to put these together with commands to create each voice and
> finally execute the Scheme to create the score.
> 
> You would have to strip out all the horribly convoluted code that deals
> with musicxml's timer going backwards and forwards and hopefully all the
> stuff for staffs and voices would be much simpler. I would hope that the
> capella format would just give you a sequence of notes, rests, time
> signature changes etc to put into a voice in the right order, in which
> case it will just be a case of building up the GStrings for each voice,
> the rest of the work is already done.
> 
> N.B.
> There is a bit of irrelevant code at the bottom of the file
> src/export/importmusicxml.c - the entry point you need is the procedure
> mxmlinput (gchar *filename) which would become capella_input (gchar
> *filename). The irrelevant code starts #ifdef DEVELOPER.
> 
> I'll be happy to help!

I see. I will look into that next weekend. (Then I'll have a six hours
train ride which is perfect for such a work.) Thank you for your offer
to help, I probably will come back to it.

Before I read your mail I had found out that MuseScore can import
Capella files and export MusicXML. So I tried that way. In MuseScore the
score looks good, but after import of the MusicXML in Denemo I still
need lots of editing.

If I can get the Capella import to work, hopefully the situation with
importing files into Denemo gets better. In the past, I used MIDI import
and always needed hours of work after the import to get a score
correctly into Denemo.

Andreas



reply via email to

[Prev in Thread] Current Thread [Next in Thread]