123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223 |
- /*
- 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
|