summaryrefslogtreecommitdiff
path: root/vendor/vstsdk2.4/vstgui.sf/vstgui/cfileselector.h
diff options
context:
space:
mode:
authorpepper <peppersclothescult@gmail.com>2015-01-10 21:37:24 -0800
committerpepper <peppersclothescult@gmail.com>2015-01-10 21:37:24 -0800
commit58f8437f4b8b741ddc8e7bcde21bf983cc618430 (patch)
treebfd0a9d601274fe56de15a4eaeb0998f9481419d /vendor/vstsdk2.4/vstgui.sf/vstgui/cfileselector.h
parent36773a28ece1641a2d827a29869cdd4c38e87925 (diff)
added vstsdkHEADmaster
Diffstat (limited to 'vendor/vstsdk2.4/vstgui.sf/vstgui/cfileselector.h')
-rw-r--r--vendor/vstsdk2.4/vstgui.sf/vstgui/cfileselector.h133
1 files changed, 133 insertions, 0 deletions
diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/cfileselector.h b/vendor/vstsdk2.4/vstgui.sf/vstgui/cfileselector.h
new file mode 100644
index 0000000..11d84be
--- /dev/null
+++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/cfileselector.h
@@ -0,0 +1,133 @@
+//-----------------------------------------------------------------------------
+// VST Plug-Ins SDK
+// VSTGUI: Graphical User Interface Framework for VST plugins :
+//
+// Version 3.0 $Date: 2005/11/01 10:03:05 $
+//
+//-----------------------------------------------------------------------------
+// VSTGUI LICENSE
+// © 2004, Steinberg Media Technologies, All Rights Reserved
+//-----------------------------------------------------------------------------
+// Redistribution and use in source and binary forms, with or without modification,
+// are permitted provided that the following conditions are met:
+//
+// * Redistributions of source code must retain the above copyright notice,
+// this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+// * Neither the name of the Steinberg Media Technologies nor the names of its
+// contributors may be used to endorse or promote products derived from this
+// software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+// OF THE POSSIBILITY OF SUCH DAMAGE.
+//-----------------------------------------------------------------------------
+
+#ifndef __cfileselector__
+#define __cfileselector__
+
+#include "vstgui.h"
+
+BEGIN_NAMESPACE_VSTGUI
+
+#ifndef __aeffectx__
+struct VstFileSelect;
+#endif
+
+//-----------------------------------------------------------------------------
+// CFileSelector Declaration
+//!
+//-----------------------------------------------------------------------------
+class CFileSelector
+{
+public:
+ CFileSelector (void* ptr);
+ virtual ~CFileSelector ();
+
+ long run (VstFileSelect *vstFileSelect);
+
+protected:
+ void* ptr;
+ VstFileSelect *vstFileSelect;
+
+ #if MAC
+ static pascal void navEventProc (const NavEventCallbackMessage callBackSelector, NavCBRecPtr callBackParms, NavCallBackUserData callBackUD);
+ static pascal Boolean navObjectFilterProc (AEDesc *theItem, void *info, void *callBackUD, NavFilterModes filterMode);
+ #endif
+};
+
+#ifndef __aeffectx__
+struct VstFileType
+{
+ VstFileType (char* _name, char *_macType, char *_dosType, char *_unixType = 0, char *_mimeType1 = 0, char *_mimeType2 = 0)
+ {
+ if (_name)
+ strcpy (name, _name);
+ if (_macType)
+ strcpy (macType, _macType);
+ if (_dosType)
+ strcpy (dosType, _dosType);
+ if (_unixType)
+ strcpy (unixType, _unixType);
+ if (_mimeType1)
+ strcpy (mimeType1, _mimeType1);
+ if (_mimeType2)
+ strcpy (mimeType2, _mimeType2);
+ }
+ char name[128];
+ char macType[8];
+ char dosType[8];
+ char unixType[8];
+ char mimeType1[128];
+ char mimeType2[128];
+};
+
+struct VstFileSelect
+{
+ long command; // see enum kVstFileLoad....
+ long type; // see enum kVstFileType...
+
+ long macCreator; // optional: 0 = no creator
+
+ long nbFileTypes; // nb of fileTypes to used
+ VstFileType *fileTypes; // list of fileTypes
+
+ char title[1024]; // text display in the file selector's title
+
+ char *initialPath; // initial path
+
+ char *returnPath; // use with kVstFileLoad and kVstDirectorySelect
+ // if null is passed, the host will allocated memory
+ // the plugin should then called closeOpenFileSelector for freeing memory
+ long sizeReturnPath;
+
+ char **returnMultiplePaths; // use with kVstMultipleFilesLoad
+ // the host allocates this array. The plugin should then called closeOpenFileSelector for freeing memory
+ long nbReturnPath; // number of selected paths
+
+ long reserved; // reserved for host application
+ char future[116]; // future use
+};
+
+enum {
+ kVstFileLoad = 0,
+ kVstFileSave,
+ kVstMultipleFilesLoad,
+ kVstDirectorySelect,
+
+ kVstFileType = 0
+};
+#endif
+
+END_NAMESPACE_VSTGUI
+
+#endif