josephernest / SamplerBox

SamplerBox is a sampler musical instrument based on RaspberryPi.
https://www.samplerbox.org
429 stars 97 forks source link

Introduce compatibility with python 3 #44

Closed mojca closed 2 years ago

mojca commented 2 years ago

I needed these changes in order to make the project work with python 3 (python 2 is already EOL).

The changes probably don't work out of the box with python 2, but compatibility could probably be added in case there's no way to abandon python 2 just yet.

The code might not be 100 % clean, so I would like to get some of your feedback first.

mojca commented 2 years ago

I also had to change this in order to make the code work on Windows:

-                                     .replace(r"\%notename", r"(?P<notename>[A-Ga-g]#?[0-9])").replace(r"\*", r".*?").strip()    # .*? => non greedy
+                                     .replace(r"%notename", r"(?P<notename>[A-Ga-g]#?[0-9])").replace(r"\*", r".*?").strip()    # .*? => non greedy
mojca commented 2 years ago

I now see that this has already been addressed in almost the same way in #34 and #35, while I would like this to get replaced with (some subset of) #47 which I also tested with Python 2.7.