bobgonzalez / spEdit404

spEdit is a tool for modifying and creating binary pattern files for the Roland SP-404SX.
GNU General Public License v3.0
17 stars 3 forks source link

Error writing binary 203 #1

Closed michaelkostal closed 4 years ago

michaelkostal commented 5 years ago

Doing some simple tests working with the editor. My first test was just to write 8th notes on pad a11, velocity 127, length 16.

Everything works fine and saves correctly, until I add something in location 14 or 15. Then I get this error writing binary 203.

bobgonzalez commented 5 years ago

Hey Michael! I am doing an overhaul now and will be adding unit tests and better trace-ability while I am re-designing the classes. I will comment again when I am done.

michaelkostal commented 5 years ago

Cool! Please let me know, would love to try again.

bobgonzalez commented 4 years ago

Hey Michael, the app should be running much better now.(including fixing this issue!) you can now insert on any arbitrary tick number (384 per bar). patterns with multiple bars will probably render weird until i iron out how to display long patterns. you can change the resolution in the constants file which can shrink the screen space used per bar. Let me know if you can still recreate this issue. if not i will close it :)

michaelkostal commented 4 years ago

Hi Bob! Thanks for updating. Just checking this out more.

Had to update to python3 to get it running. I remember before it outputted a sort of grid with X's on what note what was where, that really helped in visualizing the pattern.

Now I've forgotten how to input eighth notes to complete my previous test.

When adding a note what do the following values mean?

enter length > enter note start 0-6144>

Could you share how to input quarter / eighth / sixteenth notes? I think that would be super helpful!

bobgonzalez commented 4 years ago

Of course. the readme needs to be updated. I will try to explain the change here until then. The SP-404SX uses a mechanism called ticks to keep track of time. 1 bar always equals 384 ticks regardless of BPM. enter length > : is how long you want your note to play for(in ticks). Thus for a quarter note you would want the length to be 384/4 or 96. (8th = 384/8 etc.). based on the fact that the note start range is through 6144 i can tell you are working with a 16 bar pattern (6144/384 or 16). The note start is the tick # you want the note to start at. in the last system you could only insert on 16ths however now you can insert at any arbitrary point. for example 0 would be the start of the pattern 192 would be halfway through the first bar and 384 would be the start of the second bar. The program should still print the 12 tracks available and the notes. however as i noted the format could use a little work as it does not split the output into bars like it used to rather tries to print the whole pattern on one line. i see that enabling arbitrary insertion may be making the more common case (8ths, 16ths, etc.) more difficult. i will create an issue for this specifically as well as better formatted output.

bobgonzalez commented 4 years ago

output bug: https://github.com/bobgonzalez/spEdit404/issues/3 insertion enhancement: https://github.com/bobgonzalez/spEdit404/issues/2

in-case you would like to follow them so you can be notified when they are completed.

michaelkostal commented 4 years ago

Thanks for the info, that makes sense! Honestly the patterns I would make with this would mostly be 1 or 2 bars, and probably 4 bars max.

Now that I understand one bar is 384 ticks I can make more sense of it. Translating that into more common musical terms would be way cool, but I'm going to give it a go as is.

I'll mess with it some more this week and let you know! Thanks for putting the time into this, it's a cool project :)

michaelkostal commented 4 years ago

Success! I think there might have been a bit of an accent on the one but that might just be the sample/404.

Some sort of multiple note option add_multiple_notes_to_pattern would be nice. Enter the number of notes and then get the same commands but ends with "enter note start 1", "enter note start 2", etc.

1 measure = 384 ticks

384/4  = 96
384/8  = 48
384/16 = 24

1  e  +  a  2  e   +   a   3   e   +   a   4   e   +   a
0  24 48 72 96 120 144 168 192 216 240 264 288 312 336 360 
bobgonzalez commented 4 years ago

Great! I have changed the output format to be similar to what it used to be while also being configurable see https://github.com/bobgonzalez/spEdit404/issues/3 . I am going to close this issue as I think we have covered the initial issue. please take a look at the new output format and let me know what you think. And any feature request (like multi-note additions) you can open as an enhancement issue. and please continue to report bugs and suggest enhancements!