Filtering FLPs by VST name #172
-
I have way, way too many projects. I'm trying to find a particular one right now but it's killing me - if I could filter out the project files that use a certain plugin, it would go a long way. A simple GUI to do such filtering (for various attributes) in the future would be ideal, but I'd settle for a simple script right now. |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 9 replies
-
This snippet will take a list of All filenames containing VST plugins with a matching name will get added to Basic to intermediate Python and PyFLP knowledge is required to change this code. import pyflp
from pyflp.plugin import VSTPlugin
filenames = [...] # list of paths to FLPs you want to search in
files_i_want = set() # list of filenames that satisfy your conditions
for filename in filenames:
project = pyflp.parse(filename)
plugins = [slot.plugin for slot in insert for insert in project.mixer]
plugins.extend(instrument.plugin for instrument in project.channels.instruments)
for plugin in plugins:
if isinstance(plugin, VSTPlugin):
print(plugin.vendor, plugin.name)
if plugin.name in names_i_want:
files_i_want.add(filename)
print(files_i_want) |
Beta Was this translation helpful? Give feedback.
-
Nevermind, I just saw the readme says PyFLP requires CPython 3.8+ / PyPy 3.8+ and I'm on Python 3.6. Let me try again after I figure out how to juggle multiple Python versions on Windows... |
Beta Was this translation helpful? Give feedback.
The script searches through VST names.
A VST name is not the same as the file name of the VST plugin binary.
The FL plugin scanner / browser will show the correct name of the plugin, as well as the plugin's Settings page.
FL will assign a default channel name based on your scanner's settings. It isn't guaranteed to be the same everytime and even FL doesn't seem to use it when loading a plugin. An FLP has the actual VST name, developer name as well as the full plugin path stored insid…