On Thu, 2021-03-18 at 16:12 -0500, Jeremiah Benham wrote: > Richard, > I just tried exporting a few files in tuxguitar into musicxml and > importing that into denemo. It went rather well. There were a few > details that did not transfer over. With limited testing I found > notehead type, note ties, and tremlondo did not transfer over. I am > not sure if that tuxguitars fault or denemo. It is Denemo that has stuff still to add - not difficult for me to do that as I upgraded that code a few months ago, if you like to send some examples. I'm surprised you didn't hit the fact that I have not implemented the import from MusicXML of single-staff polyphony, as guitar music is nearly always several parts on a single staff. It's easy enough to do by hand (Staff to Voice), and for a solo guitar piece you could just put the cursor at the top and run
(while (d-MoveToStaffDown) (d-SetCurrentVoiceAsStaff))) to put all the voices on the top staff. You mention "note ties" - these are imported by Denemo - if you send an sample MusicXML file where they are missed I can investigate (I got quite used to deciphering MusicXML while writing the exporter a few months ago...) Richard > I am going to test more > later. > > Thanks, > Jeremiah > > On Thu, Mar 18, 2021 at 11:57 AM Richard Shann <[email protected] > om> wrote: > > > > This email bounced for me, and anyway I thought of a post-script to > > it > > so here it is, revised: > > > > On Thu, 2021-03-18 at 10:52 -0500, Jeremiah Benham wrote: > > > Richard, > > > I was wondering what the preferred method of inputting other file > > > formats is. I have been using tuxguitar to open up these files. I > > > then > > > would hide the tab because I want my students reading the music > > > and > > > not looking at tabs. Tuxguitar can export to lilypond and midi. I > > > could probably import it with this but I was wondering how I can > > > go > > > about it with less steps or if I can open it up denemo. I have > > > been > > > looking over tuxguitar source code specifically the portion of > > > the > > > gpx > > > file parser. My question is, If I were to write something to > > > import > > > it > > > denemo should I make it a separate utility that converts it into > > > lilypond and then have denemo import it. Is that how the musicxml > > > and > > > midi import works? > > > > Both musicxml and midi are imported by custom C-code routines (*). > > LilyPond > > is imported by a mixture of Scheme (a lexer-parser in Scheme) and > > C. > > I would forget about MIDI import if Tuxguitar can export LilyPond. > > But > > whether the Tux->Lily->Denemo route is feasible would depend on > > what > > sort of Lily output syntax is exported by Tux - the simplest thing > > would be to give it a try on a piece with the most complexity > > you're > > interested in and if creates valid LilyPond but fails in the import > > to > > Denemo just post the LilyPond syntax in case it's just a trivial > > problem. > > > > The other route would be to write a musicxml exporter for Tuxguitar > > - I > > just did this for Denemo, so I'm up to speed on how to write out > > MusicXML so I cold probably help there. > > > > Richard > > (*) to be more precise, import musicxml uses C routines to import > > the > > musicxml and then generates a scheme script which is executed to > > create > > the Denemo score. MIDI import is straight C.
