Would it be a reasonable approach to have LilyPond first produce data in memory, i.e. Scheme data representing the whole score, and then either to produce the score or a MIDI file or supply this data to other applications, such as a MusicXML exporter?
Of course this would mean a lot of work. > Le 7 mai 2018 à 18:18, Urs Liska <li...@openlilylib.org> a écrit : > > > > Am 07.05.2018 um 18:13 schrieb Jacques Menu Muzhic: >> Hello Urs, >> >> With the LP code: >> >> { >> c'8 [ d' e' f' ] >> } >> >> what is the difficulty for producing <beam/> markups in the MusicXML output? > > None. This works now (although the Pull Request hasn't been merged. > > What does *not* work is producing beams in MusicXML from *that*: > > { > c'8 d' e' f > } > > Since the implicit beams are not explicit in the input file python-ly doesn't > know about them. > > Similarly: > > { > c'8 [ d'16 e'16 ] > } > > Can't *correctly* be exported because MusicXML expects detailed information > about the beaming pattern (how many beams at each note), which again isn't > explicitly available in the LilyPond input. > > To overcome this limitation python-ly would either have to reimplement all > the stuff the LilyPond parser does (think about what happens when we come to > Scheme functions :-O ) - or we find a way to have LilyPond parse the score > and pass the parsed expressions to some exporter module (which is the > approach Jan-Peter is exploring). > > Urs > >> >> JM >> >>> Le 6 mai 2018 à 12:20, Urs Liska <li...@openlilylib.org> a écrit : >>> >>> >>> >>> Am 6. Mai 2018 12:08:39 MESZ schrieb Jacques Menu Muzhic >>> <imj-muz...@bluewin.ch>: >>>> I’m not familiar with python.ly <http://python.ly/>’s internals: does >>>> it use LP’s internal description, shown below by \displayMusic? >>> No, it parses the input file(s) - which points to the single most >>> significant limitation of python-ly's/Frescobaldi's approach. >>> >>>> Starting lilypond 2.19.80 [nobeam.ly]... >>>> Processing >>>> `/var/folders/jc/xrpy67_x6_vcjfzpzds_9_6m0000gn/T/frescobaldi-nx6e_mso/tmp2kwa263p/nobeam.ly' >>>> Parsing... >>>> Interpreting music... >>>> Preprocessing graphical objects... >>>> Finding the ideal number of pages... >>>> Fitting music on 1 page... >>>> Drawing systems... >>>> Layout output to >>>> `/var/folders/jc/xrpy67_x6_vcjfzpzds_9_6m0000gn/T//lilypond-pwPv1B'... >>>> Converting to `nobeam.pdf'... >>>> Deleting >>>> `/var/folders/jc/xrpy67_x6_vcjfzpzds_9_6m0000gn/T//lilypond-pwPv1B'... >>>> >>>> (make-music >>>> 'SequentialMusic >>>> 'elements >>>> (list (make-music >>>> 'NoteEvent >>>> 'articulations >>>> (list (make-music >>>> 'BeamEvent >>>> 'span-direction >>>> -1)) >>>> 'duration >>>> (ly:make-duration 3) >>>> 'pitch >>>> (ly:make-pitch 0 0)) >>>> (make-music >>>> 'NoteEvent >>>> 'pitch >>>> (ly:make-pitch 0 1) >>>> 'duration >>>> (ly:make-duration 3)) >>>> (make-music >>>> 'NoteEvent >>>> 'pitch >>>> (ly:make-pitch 0 2) >>>> 'duration >>>> (ly:make-duration 3)) >>>> (make-music >>>> 'NoteEvent >>>> 'articulations >>>> (list (make-music >>>> 'BeamEvent >>>> 'span-direction >>>> 1)) >>>> 'duration >>>> (ly:make-duration 3) >>>> 'pitch >>>> (ly:make-pitch 0 3)))) >>>> >>>> Success: compilation successfully completed >>>> Completed successfully in 0.8". >>>> >>>>> Le 6 mai 2018 à 11:58, Urs Liska <li...@openlilylib.org> a écrit : >>>>> >>>>> >>>>> >>>>> Am 06.05.2018 um 11:43 schrieb Jacques Menu Muzhic: >>>>>> Hello Urs, >>>>>> >>>>>> musicsml2ly and Finale 2014 behave as expected, but MuseScore 2.2.1 >>>> produces beams in both cases, i.e. even when there are no beams in the >>>> MusicXML data. >>>>> OK, that seems that between 2.1.0 and 2.2.1 MuseScore has added that >>>> feature. >>>>> Still it's of course inacceptable not to export beams at all. >>>>> >>>>> Unfortunately we can so far only deal with explicit beams, there's no >>>> way (without substantial work to redo LilyPond's autobeaming (and >>>> beaming pattern) in Python). >>>>> Thanks for testing >>>>> Urs >>>>> >>>>>> Strange… >>>>>> >>>>>> JM >>>>>> >>>>>>> Le 6 mai 2018 à 11:09, Urs Liska <li...@openlilylib.org> a écrit : >>>>>>> >>>>>>> Hello Jacques, >>>>>>> >>>>>>> >>>>>>> Am 06.05.2018 um 10:11 schrieb Jacques Menu Muzhic: >>>>>>>> Hello Urs, >>>>>>>> >>>>>>>> I’m doing tests with MusicXML, could you send me an example where >>>> MuseScore doesn’t show any beams after exporting from LilyPond? >>>>>>> Attached you'll find a simple nobeam.ly and the file nobeam.xml, >>>> which is the result from exporting with the current master of >>>> python-ly. This will be opened without beams in MuseScore 2. >>>>>>> nobeam-withbeams.xml is the result of exporting from the branch >>>> xml-handle-beams (my current pull request). The XML file I originally >>>> sent was also created from that branch. >>>>>>> Thanks for helping to look into it. >>>>>>> Urs >>>>>>> >>>>>>>> Thanks! >>>>>>>> >>>>>>>> JM >>>>>>>> >>>>>>>>> Le 5 mai 2018 à 11:50, li...@openlilylib.org a écrit : >>>>>>>>> >>>>>>>>> Hi Torsten, >>>>>>>>> >>>>>>>>> 5. Mai 2018 11:44, "Torsten Hämmerle" <torsten.haemme...@web.de> >>>> schrieb: >>>>>>>>>> Hi Urs, >>>>>>>>>> >>>>>>>>>> Sibelius works fine: >>>>>>>>>> >>>>>>>>>> >>>> <http://lilypond.1069038.n5.nabble.com/file/t3887/05-beam-sibelius.png> >>>>>>>>> Thanks. >>>>>>>>> >>>>>>>>>> As my Dorico evaluation period has expired, I can't even start >>>> it. >>>>>>>>>> All the others allow testing w/o save/export functionality, but >>>> Steinberg is >>>>>>>>>> much more restrictive in that respect. >>>>>>>>>> >>>>>>>>> On the Facebook group I got a screenshot of Dorico, so (not >>>> unexpectedly) this works too. >>>>>>>>> So my conclusion is: we can export faulty XML, and Finale, >>>> Sibelius, Dorico, MuseScore and Verovio will still properly handle it. >>>>>>>>> I find that somewhat embarrassing, but I think it's much better >>>> than nothing (I was pretty surprised to see that MusesScore didn't show >>>> *any* beams after exporting a small example from LilyPond ...) >>>>>>>>> Thanks to all who responded. >>>>>>>>> Urs >>>>>>>>> >>>>>>>>>> All the best, >>>>>>>>>> Torsten >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html >>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> lilypond-user mailing list >>>>>>>>>> lilypond-user@gnu.org >>>>>>>>>> https://lists.gnu.org/mailman/listinfo/lilypond-user >>>>>>>>> _______________________________________________ >>>>>>>>> lilypond-user mailing list >>>>>>>>> lilypond-user@gnu.org >>>>>>>>> https://lists.gnu.org/mailman/listinfo/lilypond-user >>>>>>> <nobeam.ly><nobeam.xml><nobeam-withbeams.xml> > _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user