-
-
Notifications
You must be signed in to change notification settings - Fork 82
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
Support loading RX2/REX file using SMDI #864
Comments
@Ruxton Do you know of usage examples of OpenSMDI with other SCSI storage devices? It is not clear to me that any kind of work is needed on the RaSCSI side to enable this protocol. A facility for uploading arbitrary file to the RPi's file system is easy enough, if that's what you're asking about. |
@rdmark This would be the first part, the second part would then need a "SMDI Send to device" on those files that:
Examples of things that do this:
Also, there is: |
@Ruxton Understood, thanks for the overview. I had a look at the OpenSMDI library code and quickly realized that it is for Windows, and depends on VS2007 to compile. Are you aware of a Linux version of this library? In my opinion it is out of the scope for RaSCSI to implement a proprietary protocol and manage compatibility with a range of non-standard hardware clients, so we absolutely must have a 3rd party library that provides this layer to even consider the feature request. While I can see how this would be an incredibly useful feature for sampler users, with the information we have right now I honestly don't think it's feasible. Edit: I read the OpenSMDI README again and found out that there is a Makefile for Linux. I tried using this and ran into compiler errors with legacy C syntax. This is 20+ year old code, and will require a lot of refactoring to work with modern toolchains. Let me tinker with it and see how far I get. Ideally though, someone who actually owns samplers should be doing this so that they can actually test it. |
I uploaded the original spec to archive.org for posterity and discoverability -- https://archive.org/details/smdi_20220929 |
Set up forks for OpenSMDI and ESMDI on GitHub (distributed under GPL3) and started modernizing the C code to compile on Linux. Still absolutely no guarantees, but I felt compelled to at least get these two pieces of code to a working state as a POC. Plus, it seems noone has ever properly put them under revision control, and were floating around in tarballs on archive.org and elsewhere, so I thought this was the dignified thing to do. :) |
thanks for your efforts @rdmark It's definitely something i could help with as a programmer and owner of an e-mu ultra sampler. I just dont have my RASCSI setup yet due to the Pi shortages, so it's gonna be a while til i come across one or they start shipping again O_O and with no exposure to this project, i felt it was best to raise the request first and get the conversation happening. |
I got both OpenSMDI and ESMDI to a state where they compile and link on Debian (gcc 10 and 12), x86_64 and ARM. The statically linked esmdi crashes instantly, so there's certainly still some more progress to be made. But at least it is something! If you're good at debugging Linux software please by all means clone the repos and see what you can figure out! PRs are very welcome. :) BTW, I set it up so that OpenSMDI is a submodule of ESMDI. So you need to initialize the submodule when closing ESMDI. F.e.:
After cloning ESMDI, you want to first compile the OpenSMDI libraries (cd opensmdi && make), and ESMDI second. Also, libpopd-dev is a dependency for ESMDI, so install that first! |
Support loading RX2/REX file using SMDI
This is kind of a two-part feature request.
It'd be awesome to stick Recycle files (RX2/REX) on the device and load the individual samples into the sampler via SMDI.
https://github.com/ehasting/zoeos/tree/master/ExternalLibsAndTools/Deprecated/NativeLibs/OpenSMDI
The text was updated successfully, but these errors were encountered: