I've been doing stuff like that since LÖVE 0.8.0, even though I never actually did anything serious. This is one of the two projects I'm working on.
Some notes about it: I've had no regards about code quality. The main generation is in notes.lua (please only look at sine[beat], square, organ[beat], guitar; I haven't needed the others, so they're most likely just quick and
wrong drafts), you'll probably find what you need there (if you can figure it out... There's not a single comment in there and that code is
years old). You can save with ctrl+s, load with ctrl+l (will automatically load the most recent save) or by dragging and dropping a file onto LÖVE when open
and loaded.
Here's the beginning of a song (which is Black Diamond by Stratovarius, I'm writing a little piece every time I need to test something):
- 1453470573.txt
- Actual extension is usually .nixm but I can't upload nixm files here.
- (581 Bytes) Downloaded 273 times
EDIT: As I said, I never did anything serious. While this is basically working, I don't consider it finished or polished enough.
Some more instructions if somebody wants to test it:
Left click on a square to add/edit/delete a note. A circle is a single note, a "<" is the beginning of a long note, a ">" is its end, while an empty square is nothing. Right click to delete a note.
Up and down change the tempo, which isn't actually written anywhere in the screen, so this love file is better used from a terminal (where the tempo is printed). Please don't change it while playing.
Space starts and pauses playback (please don't change tempo while paused either), while escape will stop (pause and rewind) it.
You can scroll vertically with the mousewheel (or shift + horizontal wheel, or other secondary buttons I guess), horizontally with horizontal wheel (or shift + vertical wheel).
I think that pretty much covers it.