Skip to content

Preload list of .sfz files recursively within a directory #1040

@kmturley

Description

@kmturley

Thank-you for your great work so far on this open-source tool!

Background

When I loaded the sfizz VST3, it created a folder at:
/Users/username/Documents/SFZ instruments

I downloaded/unzipped instruments into the SFZ instruments directory e.g.:

SalamanderGrandPiano/
SalamanderGrandPiano/Salamander Grand Piano V3.sfz
Virtuosity Drums/
Virtuosity Drums/Programs/01-basic-kit.sfz
VSUpright1_SFZ/
VSUpright1_SFZ/Upright No 1.sfz

Problem

I was expecting that when reloading sfizz, it would recursively scan the SFZ instruments directory and find all .sfz files. However I had to manually load each .sfz file into sfizz.

Potential solution

It appears there is some code for file/folder scanning already, so unsure if this is a bug or not implemented yet:
https://github.com/sfztools/sfizz/blob/develop/plugins/common/plugin/SfizzFileScan.cpp

However my expectation would be that sfizz will detect .sfz files in the default directory:
/Users/username/Documents/SFZ instruments

Or in a custom directory if I select in settings e.g.:
/Users/username/Library/Audio/Plug-Ins/SFZ

Impact

With auto-scanning of directories you will save time for every user, allowing them to focus on selecting a preset rather than selecting files/folders. Nearly all audio plugins auto-scan and load presets on the users behalf to save them time. This will improve adoption of sfizz and .sfz files as they will require less manual steps to install.

I'm working on a plugin management system, which installs plugins automatically: https://github.com/studiorack I would like users to be able to install sfizz + a .sfz sample pack with easy commands: e.g.

studiorack plugin install sfizz
studiorack plugin install salamander-grand-piano

For this functionality, I need to install the .sfz sample pack into a default directory, where it will be automatically scanned by sfizz.

Debugging

Here is a screenshot from my sfizz VST3 containing the debug information:
Screen Shot 2021-11-21 at 8 50 25 AM

Metadata

Metadata

Assignees

No one assigned

    Labels

    new featureFeature additions and requests

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions