aboutsummaryrefslogtreecommitdiff
path: root/Src/Plugins/Visualization/vis_milk2/defines.h
diff options
context:
space:
mode:
authorJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
committerJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
commit20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (patch)
tree12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/Plugins/Visualization/vis_milk2/defines.h
parent537bcbc86291b32fc04ae4133ce4d7cac8ebe9a7 (diff)
downloadwinamp-20d28e80a5c861a9d5f449ea911ab75b4f37ad0d.tar.gz
Initial community commit
Diffstat (limited to 'Src/Plugins/Visualization/vis_milk2/defines.h')
-rw-r--r--Src/Plugins/Visualization/vis_milk2/defines.h223
1 files changed, 223 insertions, 0 deletions
diff --git a/Src/Plugins/Visualization/vis_milk2/defines.h b/Src/Plugins/Visualization/vis_milk2/defines.h
new file mode 100644
index 00000000..b7283f41
--- /dev/null
+++ b/Src/Plugins/Visualization/vis_milk2/defines.h
@@ -0,0 +1,223 @@
+/*
+ LICENSE
+ -------
+Copyright 2005-2012 Nullsoft, Inc.
+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 Nullsoft 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 __NULLSOFT_DX8_PLUGIN_SHELL_DEFINES_H__
+#define __NULLSOFT_DX8_PLUGIN_SHELL_DEFINES_H__ 1
+
+// APPNAME should be something like "MyPlugin 1.0".
+// This is the name that will appear in Winamp's list of installed plugins.
+// Try to include the version number with the name.
+// Note: to change the name of the *file* (DLL) that the plugin is
+// compiled to, go to Project Settings -> Link tab -> and change the
+// 'output file name'. Don't forget to do it for both Debug AND
+// Release builds!
+#define SHORTNAME "MilkDrop 2" // used as window caption for both MilkDrop and the config panel. avoid numbers or punctuation; when 'integrate with winamp' option is enabled, these characters don't always work with all skins.
+#define LONGNAME "MilkDrop v2.25d" // appears at bottom of config panel
+#define LONGNAMEW L"MilkDrop v2.25d" // appears at bottom of config panel
+
+// INT_VERSION is the major version #, multipled by 100 (ie. version 1.02
+// would be 102). If the app goes to read in the INI file and sees that
+// the INI file is from an older version of your plugin, it will ignore
+// their old settings and reset them to the defaults for the new version;
+// but that only works if you keep this value up-to-date. ***To disable this
+// behavior, just always leave this at 100. ***
+#define INT_VERSION 200
+// INT_SUBVERSION is the minor version #, counting up from 0 as you do
+// mini-releases. If the plugin goes to read the old INI file and sees that
+// the major version # is the same but the minor version # is not, it will,
+// again, ignore their old settings and reset them to the defaults for the
+// new version. ***To disable this behavior, just always leave this at 0. ***
+#define INT_SUBVERSION 5 //straight=0, a=1, b=2, ...
+
+// SUBDIR puts milkdrop's documentation, INI file, presets folder, etc.
+// in a subdir underneath Winamp\Plugins.
+#define SUBDIR L"Milkdrop2\\" //""
+
+// INIFILE is the name of the .INI file that will save the user's
+// config panel settings. Do not include a path; just give the filename.
+// The actual file will be stored in the WINAMP\PLUGINS directory,
+// OR POSSIBLY c:\application data\...(user)...\winamp\plugins!!! - if
+// they have sep. settings for each user!
+#define INIFILE L"milk2.ini" //*** DO NOT PUT IN A SUBDIR because on save, if dir doesn't already exist,
+ // it won't be able to save the INI file.
+#define MSG_INIFILE L"milk2_msg.ini" //*** could be in c:\program files\winamp\plugins, or in
+#define IMG_INIFILE L"milk2_img.ini" // c:\application data\...user...\winamp\plugins !!
+#define ADAPTERSFILE L"milk2_adapters.txt"
+
+// DOCFILE is the name of the documentation file that you'll write
+// for your users. Do not include a path; just give the filename.
+// When a user clicks the 'View Docs' button on the config panel,
+// the plugin will try to display this file, located in the
+// WINAMP\PLUGINS directory.
+//
+// ***Note that the button will be invisible (on the config panel)
+// at runtime if this string is empty.***
+#define DOCFILE SUBDIR L"docs\\milkdrop.html" // set this to something like "myplugin.html"
+
+// PLUGIN_WEB_URL is the web address of the homepage for your plugin.
+// It should be a well-formed URL (http://...). When a user clicks
+// the 'View Webpage' button on the config panel, the plugin will
+// launch their default browser to display this page.
+//
+// ***Note that the button will be invisible (on the config panel)
+// at runtime if this string is empty.***
+#define PLUGIN_WEB_URL L"http://www.geisswerks.com/milkdrop/" // set this to something like "http://www.myplugin.com/"
+
+// The following two strings - AUTHOR_NAME and COPYRIGHT - will be used
+// in a little box in the config panel, to identify the author & copyright
+// holder of the plugin. Keep them short so they fit in the box.
+#define AUTHOR_NAME L"Ryan Geiss"
+#define COPYRIGHT L"(c) 2001-2023 Winamp SA"
+
+// CLASSNAME is the name of the window class that the plugin will
+// use. You don't want this to overlap with any other plugins
+// or applications that are running, so change this to something
+// that will probably be unique. For example, if your plugin was
+// called Libido, then "LibidoClass" would probably be a safe bet.
+#define CLASSNAME L"MilkDrop2"
+
+// Here you can give names to the buttons (~tabs) along the top
+// of the config panel. Each button, when clicked, will bring
+// up the corresponding 'property page' (embedded dialog),
+// IDD_PROPPAGE_1 through IDD_PROPPAGE_8. If you want less than
+// 8 buttons to show up, just leave their names as blank. For
+// full instructions on how to add a new tab/page, see
+// DOCUMENTATION.TXT.
+//#define CONFIG_PANEL_BUTTON_1 " Common Settings " // nPage==1
+//#define CONFIG_PANEL_BUTTON_2 " MORE SETTINGS " // nPage==2
+//#define CONFIG_PANEL_BUTTON_3 " Artist Tools " // nPage==3
+//#define CONFIG_PANEL_BUTTON_4 " Transitions " // nPage==4
+//#define CONFIG_PANEL_BUTTON_5 "" // nPage==5
+//#define CONFIG_PANEL_BUTTON_6 "" // nPage==6
+//#define CONFIG_PANEL_BUTTON_7 "" // nPage==7
+//#define CONFIG_PANEL_BUTTON_8 "" // nPage==8
+// As if 2.0e, these strings are defined in the stringtable of the dll
+// and otherwise work the same as these header defines.
+// (The equivelent of "" in these is a single space now)
+
+// adjust the defaults for the 4 built-in fonts here.
+// (note: if you want the font to be available on 98 + ME + 2k + XP, use one of the following...)
+// arial
+// courier 10-12-15
+// courier new
+// comic san[s] ms
+// lucida console
+// ms sans serif
+// ms serif
+// small fonts
+// symbol 8-10-12-14-18-24
+// tahoma
+// times new roman
+// verdana
+// webdings
+#define SIMPLE_FONT_DEFAULT_FACE L"Courier" //"MS Sans Serif" - changed to Courier because menus + code FAR more legible!
+#define SIMPLE_FONT_DEFAULT_SIZE 12 //16
+#define SIMPLE_FONT_DEFAULT_BOLD 0
+#define SIMPLE_FONT_DEFAULT_ITAL 0
+#define SIMPLE_FONT_DEFAULT_AA 0
+#define DECORATIVE_FONT_DEFAULT_FACE L"Times New Roman"
+#define DECORATIVE_FONT_DEFAULT_SIZE 24
+#define DECORATIVE_FONT_DEFAULT_BOLD 0
+#define DECORATIVE_FONT_DEFAULT_ITAL 1
+#define DECORATIVE_FONT_DEFAULT_AA 1
+#define HELPSCREEN_FONT_DEFAULT_FACE L"MS Sans Serif"
+#define HELPSCREEN_FONT_DEFAULT_SIZE 14 // NOTE: should fit on 640x480 screen!
+#define HELPSCREEN_FONT_DEFAULT_BOLD 1
+#define HELPSCREEN_FONT_DEFAULT_ITAL 0
+#define HELPSCREEN_FONT_DEFAULT_AA 0
+#define PLAYLIST_FONT_DEFAULT_FACE L"Arial"
+#define PLAYLIST_FONT_DEFAULT_SIZE 16
+#define PLAYLIST_FONT_DEFAULT_BOLD 0
+#define PLAYLIST_FONT_DEFAULT_ITAL 0
+#define PLAYLIST_FONT_DEFAULT_AA 0
+
+// automatically add extra fonts to the config panel
+// by simply #defining them here, UP TO A MAX OF 5 EXTRA FONTS.
+// access the font by calling GetFont(EXTRA_1) for extra font #1,
+// GetExtraFont(EXTRA_2) for extra font #2, and so on.
+#define NUM_EXTRA_FONTS 2 // <- don't exceed 5 here!
+#define TOOLTIP_FONT EXTRA_1
+//#define EXTRA_FONT_1_NAME "Tooltips"
+// defined in the stringtable resources now since 2.0e
+#define EXTRA_FONT_1_DEFAULT_FACE L"Arial"
+#define EXTRA_FONT_1_DEFAULT_SIZE 14
+#define EXTRA_FONT_1_DEFAULT_BOLD 0
+#define EXTRA_FONT_1_DEFAULT_ITAL 0
+#define EXTRA_FONT_1_DEFAULT_AA 0
+#define SONGTITLE_FONT EXTRA_2
+//#define EXTRA_FONT_2_NAME "Animated Songtitles"
+// defined in the stringtable resources now since 2.0e
+#define EXTRA_FONT_2_DEFAULT_FACE L"Times New Roman"
+#define EXTRA_FONT_2_DEFAULT_SIZE 18
+#define EXTRA_FONT_2_DEFAULT_BOLD 0
+#define EXTRA_FONT_2_DEFAULT_ITAL 1
+#define EXTRA_FONT_2_DEFAULT_AA 1
+
+#define WINDOWCAPTION SHORTNAME // the caption that will appear on the plugin window
+#define DLLDESC LONGNAME // the desc. of this DLL, as it appears in Winamp's list of viz plugins
+#define MODULEDESC LONGNAME // the desc. of this viz module within the DLL (..this framework is set up for just 1 module per DLL)
+
+// Finally, a few parameters that will control how things are done
+// inside the plugin shell:
+#define NUM_WAVEFORM_SAMPLES 480 // RANGE: 32-576. This is the # of samples of waveform data that you want.
+ // Note that if it is less than 576, then VMS will do its best
+ // to line up the waveforms from frame to frame for you, using
+ // the extra samples as 'squish' space.
+ // Note: the more 'slush' samples you leave, the better the alignment
+ // will be. 512 samples gives you decent alignment; 400 samples
+ // leaves room for fantastic alignment.
+ // Observe that if you specify a value here (say 400) and then only
+ // render a sub-portion of that in some cases (say, 200 samples),
+ // make sure you render the *middle* 200 samples (#100-300), because
+ // the alignment happens *mostly at the center*.
+#define NUM_FREQUENCIES 512 // # of freq. samples you want *out* of the FFT, for 0-11kHz range.
+ // ** this must be a power of 2!
+ // ** the actual FFT will use twice this many frequencies **
+
+#define TEXT_MARGIN 10 // the # of pixels of margin to leave between text and the edge of the screen
+#define PLAYLIST_INNER_MARGIN 4 // the extra margin between the playlist box and the text inside
+
+#define PLAYLIST_COLOR_PLAYING_TRACK 0xFFCCFF00 // alpha|red|green|blue
+#define PLAYLIST_COLOR_HILITE_TRACK 0xFFFF5050
+#define PLAYLIST_COLOR_BOTH 0xFFFFCC22
+#define PLAYLIST_COLOR_NORMAL 0xFFCCCCCC
+
+#define MENU_COLOR 0xFFCCCCCC
+#define MENU_HILITE_COLOR 0xFFFF4400
+#define DIR_COLOR 0xFF88CCFF
+#define TOOLTIP_COLOR 0xFFBBBBCC
+
+#define MAX_PRESETS_PER_PAGE 32
+
+//#define PRESS_F1_MSG "Press F1 for Help " // leave extra space @ end, so italicized fonts don't get clipped
+// defined in the stringtable resources now since 2.0e
+#define PRESS_F1_DUR 3.0f // in seconds
+#define PRESS_F1_EXP 10.0f // exponent for how quickly it accelerates to leave the screen. 1 = linear; >1 = stays & then dashes off @ end
+
+#endif \ No newline at end of file