-
Notifications
You must be signed in to change notification settings - Fork 3
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
Arpeggiator seems to not function on device #26
Comments
New docs:
Old docs (these are only partially visible on the page because of markup errors, you need to open the raw view to read the complete content of the cells):
The offending song uses The original code restarts the arpeggio on note-ON when bit 5 is set but lets the arpeggio continue until stopped explicitly independently of bit 5. The new code plays a chord on note-ON when bit 5 is set (like the old code) but when bit 5 is reset it plays the chord once i.e. automatic chord re-trigger is disabled. My reasoning was as follows: The docs were not clear in explaining how the effect should work so I looked at the code and saw that the chord was restarted when bit 5 was set but when bit 5 was reset it was ignored resulting in the behaviour outlined above. I figured that, as implemented, the bit wasn't useful because the original behaviour can be implemented without using a dedicated bit at all. So I concluded that there was probably a bug and the intention was to differentiate between chords that play once on every note-ON and chords that keep playing and that's what I have implemented in the current library. We can fix this in at least two ways:
Comments? |
For a quick fix change:
to:
it will change the arpeggio to be continuous in your song. Tell me if/how I can help you further. |
@slemmon can you get this to work properly in ShowCodeNew tomorrow? I'm going to need to heavily rely on arpeggiator to reduce music size. |
PR: #37 @jaygarcia I'm not 1000% sure I follow yet how this all will work but I think for the moment this change will allow the UI to keep working like it's been working and export the arpeggio command expected by lib2 for player playback. If I've missed the mark I'll rework it tomorrow once you, me, and dxxb are online. |
FYI, the arpeggiator also supports alternating between 1 note and silence (equally spaced), see notecut. Mentioning it just in case.
I see you changed the value assembled by the UI. That's one way to do it. I think changing the text associated with that FX option is essential to spare confusion on the user part. You could even get away with leaving the code as is with the right wording in the UI. |
@slemmon it doesn't work at all. Have you tested on device? Try the below atm file for something that is sonically more pleasing. |
@jaygarcia, could it be a problem with the library instead? I don't have an arduboy with me right now so I cannot test it myself. Does changing manually:
to:
solve the issue? |
@dxxb i'm working on that now. I am not good w/ numbers to binary so I am working on it by hand.
|
@dxxb yeah it's an issue with the library (i think).
|
@dxxb here is the header file |
I just noticed this |
Thanks @dxxb I changed that block to the following: My interpretation:
(Arg 2)
Docs for reference :D
|
Even so, you should be able to hear something. The pattern should alternate between two notes (the 3rd note is disabled when bit 6 is 0). Notes should be 2 ticks apart so: note-on, delay 2 ticks, 2nd note, delay 2 tick, 1st note. |
|
Thanks. Got this working but am going to do it manually until we get the UI to do what it needs to do. =) |
Arpeggiator seems not function in the current Master. It plays once through and it's done.
Seems to work in the UI. Can't tell where the problem is.
(updated to attach files)
The text was updated successfully, but these errors were encountered: