Skip to content
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

Can an adaptation provide a synth specific file import? #438

Open
markusschloesser opened this issue Mar 2, 2025 · 3 comments
Open

Can an adaptation provide a synth specific file import? #438

markusschloesser opened this issue Mar 2, 2025 · 3 comments
Labels
enhancement New feature or request

Comments

@markusschloesser
Copy link
Collaborator

markusschloesser commented Mar 2, 2025

K5000 have a file type (ka1 and kaa) which is basically patch/bank minus sysex header. Can an adaptation provide the possibility of importing those?

@markusschloesser markusschloesser added the question Further information is requested label Mar 2, 2025
@christofmuc
Copy link
Owner

Good question!

The C++ code can do it, we just need to expose the capability to Python:

	class LegacyLoaderCapability {
	public:
		virtual std::string additionalFileExtensions() = 0;
		virtual bool supportsExtension(std::string const &filename) = 0;
		virtual TPatchVector load(std::string const &filename, std::vector<uint8> const &fileContent) = 0;
	};

This is used by the MKS-80 for example to load the old M80 and MKS80 files.

The current Python code only works on lists of MidiMessages, not necessarily sysex, but it needs to be valid Midi.

@christofmuc christofmuc added enhancement New feature or request and removed question Further information is requested labels Mar 2, 2025
@markusschloesser
Copy link
Collaborator Author

So ".ka1" and ".kaa" would go into additionalFileExtensions() = 0;? (or the hopefully upcoming python equivalent)
Strike the "basically", it IS the patch data (which itself is sysex bytes) - header and minus f7

@christofmuc
Copy link
Owner

Yes, you could add the additional file extensions, and then the load would get called with the file content basically doing the same what the extactPatchesFromBank... methods do.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants