Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LilyPond export #343

Merged
merged 9 commits into from
Jan 11, 2016
Merged

LilyPond export #343

merged 9 commits into from
Jan 11, 2016

Conversation

Shaac
Copy link
Contributor

@Shaac Shaac commented Dec 20, 2015

This is a first version of the LilyPond export. It should work perfectly with the following limitations:

  • Only GM-kit is supported
  • No triplet support

Next step for this feature is (besides completion of these limitations) support of repeats, which will be coming soon

@trebmuh
Copy link
Member

trebmuh commented Dec 30, 2015

Ok, I had some time to check if this branch compiles, and it does.

I've been exporting a small song made of one pattern played one time :) and I've got a .ly file which is filed with stuff. That said, I'm like a chicken in front of a fork since I never used any .ly reader/editor so I didn't get further than that yet. I'll will wait for next year I guess :)

Some quick thought:

  • from an user perspective: if I'm able to export to a lilypond format, am I able to import from it as well. I guess the answer is "no" and I wonder is there would be any benefit in doing that?
  • we need a paragraph of that feature in the manual so if/when this commit will get in master, please open an issue with "manual" in its name just to remind us to do so (would be great to add a few names of well known *.ly partition editor in there, plus answering a few questions like: "what this future is aimed to?", "how does it work?", "Is there some option with this feature?", writing down something about the fact it's only working with GM kit, no triplets,...)
  • as well, we'll need to make sure that the strings are translatable and the pot file is updated

Thanks for your work and happy new year :)

@mauser
Copy link
Member

mauser commented Jan 9, 2016

Hi,

I'm starting to review this pull request.. maybe it makes sense to display a message which produces a warning which tells the user about the known limitations (btw, are tempo changes supported?). The audio export on windows was quite limited for some time, but people didn't know about this and reported this again and again to our forum and bugtracker. So clearly stating what is possible and what is not could help here.

@Shaac
Copy link
Contributor Author

Shaac commented Jan 10, 2016

Hi, I did not have any time to work on Hydrogen the last few weeks, so here my response to the above comments.

  • About the possibility from LilyPond import: this could be possible, though probably not very useful. And it would mean a lot a work.
  • About the manual: we sure need an entry, I could do it if I have some time.
  • About the string translation: it should be easy considering we just have to take the translation of “Export to MIDI”, and replace MIDI by LilyPond. I tried but I did not understood how to change the i18n files, and the scripts that go with.
  • About the warning of limited support, I though of it and it is already in the pull request. You have a pop up when you click on LilyPond export.
  • About the tempo change, if you are talking of change of time signature (i.e. a 4/4 measure, then a 2/4 one), it is supported. If you are talking about real tempo change (i.e. 120bpm to 160bpm), I did not even knew it was possible in Hydrogen, so it will not be transcribed on the chart, but it should make an acceptable result.

@mauser
Copy link
Member

mauser commented Jan 10, 2016

Hi,
about the tempo change: You can add tempo changes in songs via the timeline feature (accessible via the 'bpm' button).

mauser added a commit that referenced this pull request Jan 11, 2016
@mauser mauser merged commit 5c9eb00 into hydrogen-music:master Jan 11, 2016
@mauser
Copy link
Member

mauser commented Jan 11, 2016

Thanks, merged!

@trebmuh
Copy link
Member

trebmuh commented Feb 13, 2016

I've been able to test it again from a today GIT fresh compile ( acb8332 ).
I used a hydrogen song made of the GM kit, then exported it with Lilypond, then opened it with Frescobaldi and rendered it into a .pdf format (yes, I'm not anymore fealing like a chicken in front of a fork). It looks great ! It does sound to be a very useful feature, thanks @Shaac !

First, I did put a note on here : https://github.com/hydrogen-music/hydrogen/wiki/New-features-in-Hydrogen-0.9.7

@Shaac : answering your points above:

  • got you about the lilypond import feature. That make sense.
  • OK about the manual
  • I updated the translatable strings and translated the FR one. See my PR here : update translation strings + update FR translation #354
  • sweat about the warning. Well thought!
  • I agree with @mauser here, I'd love to see the tempo change supported :)

Awesome work here!

@Shaac
Copy link
Contributor Author

Shaac commented Feb 14, 2016

I’ll add the tempo change support when I’ll do a second run. I’ll also remove the unnecessary rests, and add support for all kits based on the new MIDI mapping. The downside is it will have the same setbacks as in issue #307
I may add add triplets support while I’m at it.
Don’t know when I’ll find the time to do it though.

Thanks @trebmuh for your update on translatable strings.

@trebmuh
Copy link
Member

trebmuh commented Feb 15, 2016

Sweat. The triplets functionnality would be great as well.
Looking towards hearing from you about this.
Cheers

@arktisvogel
Copy link

Hey Shaac,

I'm one of the folks who actively uses LilyPond. I also have had some experience creating songs with Hydrogen. Your work to produce LilyPond output is something I wish to praise.

This comment is meant to inform you, in case you don't already know, that the LilyPond developers are actively cooperating with the "The Music Notation Project" MNMA. This indicates that there will be some sort of music "meta-language" in the future, which will be universal enough to please everybody. Instead of trying to keep up to pace with the version-to-version updates in the LilyPond community, maybe you should concentrate on the format which the MNMA is developing. If you do, then the LilyPond developers will see to it that your output can be imported into LilyPond.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants