hello! i have made a tool to make pico 8 music composing easier
see it in action: https://twitter.com/maplesbian/status/1148878267316932608
get to the good stuff: https://github.com/Lana-chan/it2p8.py
have fun
I'm working on a similar project, a kind of gateway midifile => P8 music. Before starting it, I've made a gateway Atari frequencies tables => P8 music, it works fine, even on 4 tracks, as Atari and P8 allow it. I wrote a lot of Atari musics in the early 80's.
I've watched your code on github, input files (.it?) are in a binary format that I don't know.Can you tell me more?
Awesome, thank you! I've run your program with your test.it and I've added a little bit of lua to hear it, really awesome too!
function _init() music(0) end function _update() end function _draw() end |
I tested it with an IT mod which I downloaded as .xm format and converted to .it
However, I got the following error message in my console:
martin@Martins-MacBook-Pro Push-Push Penguin % python3 it2p8.py ppp-title.it ppp-title.p8
Traceback (most recent call last):
File "/Users/martin/Downloads/Push-Push Penguin/it2p8.py", line 344, in <module>
out = it_to_p8(it, start_sfx)
^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/martin/Downloads/Push-Push Penguin/it2p8.py", line 189, in it_to_p8
if(it.message):
^^^^^^^^^^
AttributeError: 'ImpulseTracker' object has no attribute 'message'
When looking into the Python source, it seems to rely on the module having a message field.
@leissler: yes, i've now set that to default to None so it shouldn't complain anymore. though your non-standard module is likely to still fail as the constraints for it2p8.py to work are strict. look at the provided test.it module for reference
Wow, that was fast!
Now I get:
Traceback (most recent call last):
File "/Users/martin/Downloads/Push-Push Penguin/it2p8.py", line 345, in <module>
out = it_to_p8(it, start_sfx)
^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/martin/Downloads/Push-Push Penguin/it2p8.py", line 196, in it_to_p8
while len(sfxs) < start_sfx:
^^^^^^^^^^^^^^^^^^^^^
TypeError: '<' not supported between instances of 'int' and 'NoneType'
You cam download my files here, if you like to test it:
@leissler: your file follows none of the instructions in the readme file of it2p8.py, and the converter was never designed to work without custom instruments (even if blank, all 0's)
you will need to manually rewrite your .it file. please check the readme file and the included test.it for an example.
@leissler: not unless you make a lot of changes by hand, no. for starters you will have to split every single pattern from 64 rows to 32 rows each. and that's just the first thing i notice at a glance
it2p8.py was never meant to convert "mod files you downloaded from the internet" for easy someone else's music into your game but rather to make it easier for composers already familiar with more broad tools such as OpenMPT to make PICO-8 music without constrained by the 128x128 user interface. i think you are better off looking for another tool
[Please log in to post a comment]