brianv Posted February 4, 2013 Report Share Posted February 4, 2013 I have added some code implementing a unison and polyphonic mode. The unison mode really sounds pretty fat with the 3 SID voices stacked together, I can't wait to hear what it sounds like once we have filters. I also introduced the concept of a patch which manages the layering of the voices and handles parameter changes and "wired" it up to the MIDI program change event. What would be the best way to share the code? Link to comment Share on other sites More sharing options...
Jack Gassett Posted February 4, 2013 Report Share Posted February 4, 2013 Excellent! This is really great, thank you for putting that together. I wrote a section on the RetroCade wiki about the optimal way to submit code. You can always zip it up and post it here, but if you can make an account at Github and generate a pull request then that is going to be the slickest way to get it into the codebase. Thanks!Jack. Link to comment Share on other sites More sharing options...
brianv Posted February 4, 2013 Author Report Share Posted February 4, 2013 Cool. I'll clean things up a bit then create my own fork with Git. Link to comment Share on other sites More sharing options...
brianv Posted February 9, 2013 Author Report Share Posted February 9, 2013 I just committed my enhancements to this fork: https://github.com/brianbv/RetroCade_Synth. The unison and poly modes are function the way that I think that they should, but I am having some stability issues with the dynamic memory allocation (new/delete). Change Log: Voice- Encapsulates the base functionality of voice (note, pitch, envelope, etc) Patch- Stores a list of voices and manages them based on the current mode UI - Wired up the MIDI program change to change programs. When it gets the change notification, it jumps right to the menu so that if you're operating the RetroCade from an external keyboard, you'll see your updates on the LCD immediately.- The patch/program menu now displays Program #, voice mode, voices used, and the program name Build Config- Added a Config.h with some build-configuration #defines. I think it would be great to have one branch for RetroCade and RetroCade lite. Channels- This is working differently than before since Poly/Unison modes are only responding to notes on one channel. From what I've seen, the standard way to have multiple voices playing simultaneously is to implement a split mode where each voice is assigned to a note range. This way you could, for example have a drumkit and bass living inside one patch/program. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.