<?xml version="1.0" encoding="utf-8" standalone="yes"?>

<?xml-stylesheet href="./_c74_ref.xsl" type="text/xsl"?>

<!--This is an automatically generated file. DO NOT EDIT THIS FILE DIRECTLY. Rather, use the _ref.xml files found in the 'edits' folder.-->
<c74object name="vstscan" module="Max" category="Plug-ins">
	<digest>
		Audio Plugin Scanner
	</digest>
	<description>
		Vstscan provides an interface to audio plugin scanning so that this functionality may be presented in patchers and standalones. You can use vstscan to build menus of plugin names for use in patcher code.
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			TEXT_HERE
		</metadata>
	</metadatalist>
	<!--INLETS-->
	<inletlist>
		<inlet id="0" type="symbol">
			<digest>
				scan, listvst, listvst3, listau
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="1" type="symbol">
			<digest>
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="list">
			<digest>
				plug_vst/plug_vst3/plug_au &amp;lt;pluginname&amp;gt;
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
		<outlet id="1" type="list">
			<digest>
				scan status (0/1)
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
	</outletlist>
	<!--ARGUMENTS-->
	<objarglist />
	<!--MESSAGES-->
	<methodlist>
		<method name="listau">
			<arglist>
				<arg name="types" type="list" optional="1" />
			</arglist>
			<digest>
				List AudioUnit plug-ins
			</digest>
			<description>
				List AudioUnit plug-ins via the <o>vstscan</o> object's leftmost outlet. Each entry is preceded by the selector <m>plug_au</m>. The optional arguments <m>instrument</m>, <m>effect</m> and <m>blacklist</m> can be used alone or in combination to restrict the listing the the desired type of plug-in.
			</description>
		</method>
		<method name="listvst">
			<arglist>
				<arg name="types" type="list" optional="1" />
			</arglist>
			<digest>
				List VST plug-ins
			</digest>
			<description>
				List VST plug-ins via the <o>vstscan</o> object's leftmost outlet. Each entry is preceded by the selector <m>plug_vst</m>. The optional arguments <m>instrument</m>, <m>effect</m> and <m>blacklist</m> can be used alone or in combination to restrict the listing the the desired type of plug-in.
			</description>
		</method>
		<method name="listvst3">
			<arglist>
				<arg name="types" type="list" optional="1" />
			</arglist>
			<digest>
				List VST3 plug-ins
			</digest>
			<description>
				List VST3 plug-ins via the <o>vstscan</o> object's leftmost outlet. Each entry is preceded by the selector <m>plug_vst3</m>. The optional arguments <m>instrument</m>, <m>effect</m> and <m>blacklist</m> can be used alone or in combination to restrict the listing the the desired type of plug-in.
			</description>
		</method>
		<method name="scan">
			<arglist>
				<arg name="scanmode" type="list" optional="1" />
			</arglist>
			<digest>
				Re-scan for new plug-ins.
			</digest>
			<description>
				Re-scan the system plug-in folders for new plug-ins. On MacOS, this is generally (for VST plug-ins) /Library/Audio/Plug-ins/VST/ , while on Windows this is the folder specified in the VSTPluginsPath string value under the registry key HKLM\Software\VST. The scanning process will cause info files to be generated in Max's preferences folder and added to the search path.
				<br />
				<br />
				As of Max 8, there are two scanning modes. The minimal/fast scanning method quickly gathers information about plug-ins based on files on disk without accessing the plug-ins, while complete/slow scanning performs a full scan of installed plug-ins, accessing the plug-ins to determine compatibility and features. The &quot;slow&quot; scan is only slow once, future runs perform a quick update to determine any changes to the last-scanned state of the operating system.
				<br />
				<br />
				The <m>scanmode</m> argument can be used to specify the type of scanning:
				<br />
				<ul>
					<li>
						0 or <m>default</m> (default): perform the default complete/slow scan. If minimal/fast scanning was previously selected, enable complete/slow scanning and perform a full scan. If complete/slow scanning is already enabled, perform a quick update scan.
					</li>
					<li>
						1 or <m>partial</m>: if any plug-ins were blacklisted by previous scans, reset the blacklist state of those plugins and perform an update scan.
					</li>
					<li>
						2 or <m>full</m>: completely reset the information gathered by previous scans and perform a full scan.
					</li>
					<li>
						3 or <m>reset</m>: reset the scanning state and select minimal/fast scanning.
					</li>
				</ul>
			</description>
		</method>
	</methodlist>
	<!--ATTRIBUTES-->
	<!--EXAMPLE-->
	<examplelist>
		<example caption="" img="" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="vst~" />
	</seealsolist>
</c74object>
